我正在为名为Xena.biz的会计网站编写一个小型“应用程序”
系统具有使用oAuth2连接的API。我整理的所有内容-我可以完美地检索所需的信息。现在,我需要将一个PUT字符串提交回Xena-在这里我无法弄清楚。
系统建立在名为XenaClient.php的文件上,该文件包含所有授权调用和所有请求。
以下是我如何检索信息的示例:
<?
require('XenaClient.php');
const CLIENT_ID = 'SECRET';
const CLIENT_SECRET = 'VERY SECRET';
$xenaclient = new XenaOAuth2Client(CLIENT_ID, CLIENT_SECRET);
$xenaclient->setAccessToken($_COOKIE["MaskedCookieName"]);
$ordertask = $xenaclient->fetch('https://my.xena.biz/Api/Fiscal/'.$_GET["fiscal"].'/OrderTask/'.$_GET["orderId"]);
var_dump($ordertask);
?>
但是现在我想通过PUT发送信息。根据XenaClient.php脚本,我应该使用命令$ xenaclient-> fetch($ url,$ parameters);
这是我的镜头
require('XenaClient.php');
const CLIENT_ID = 'SECRET';
const CLIENT_SECRET = 'VERY SECRET';
$xenaclient = new XenaOAuth2Client(CLIENT_ID, CLIENT_SECRET);
$xenaclient->setAccessToken($_COOKIE["MaskedCookieName"]);
$xenaclient->fetch('https://my.xena.biz/Api/Fiscal/96946/Order/243936250/Confirmation',array('ConfirmationDate'=>NULL,'ConfirmationReportLayoutId'=>261205291));
?>
这不会退回任何东西,也不会在会计系统内部产生想要的效果。不能从Xena那里得到帮助,所以这就是为什么我问你们,希望您能帮助我。
这里有一些指针:
API资源:https://dev.xena.biz
XenaClient.php:https://github.com/EG-BRS/Xena.ExampleApp.PHP/blob/master/XenaClient.php
答案 0 :(得分:0)
here告诉您,获取功能的 third 参数(尽管是可选的)确定了请求的方法。默认为GET(XenaOAuth2Client::HTTP_METHOD_GET
),因此,如果要使用PUT,则应明确提供适当的PUT参数(其他方法请参见XenoOAuth2Client::fetch:
$xenaclient->fetch(
'https://my.xena.biz/Api/Fiscal/96946/Order/243936250/Confirmation',
array('ConfirmationReportLayoutId'=>261205291),
XenaOAuth2Client::HTTP_METHOD_PUT
);
今天大多数API使用json,也许应该是json ...
$xenaclient->fetch(
'https://my.xena.biz/Api/Fiscal/96946/Order/243936250/Confirmation',
json_encode(array('ConfirmationReportLayoutId'=>261205291)),
XenaOAuth2Client::HTTP_METHOD_PUT
);