0

我正在使用 office365 应用程序并引用自https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#Createandsendmessageshttps://dev.outlook.com/RestGettingStarted/Tutorial/ php创建函数:

function reply_to(){
    $comment =array("Comment"=> $_POST['comment']);

    $url="https://outlook.office365.com/api/v1.0/me/messages/'".$_POST['messeg_id']."'/reply";

    $data=OutlookService::makeApiCall($_SESSION['access_token'],'POST',$url,$comment);
    print_r($data);     
}

并且总是得到同样的错误

数组( [errorNumber] => 400 [error] => 请求返回 HTTP 错误 400 )。

我不知道我做错了什么,我检查了很多次。

4

1 回答 1

0

几个问题:

  1. '删除URL 中消息 ID 周围的单引号。
  2. JSON 在将$comment数组传递给之前对数组进行编码,makeApiCall如下所示:$comment = json_encode(array("Comment"=> $_POST['comment']));

如果您不进行 JSON 编码,则 cURL 会以表单编码的形式发送数据,而不是作为正文中的 JSON 实体。服务器以 400 拒绝它,因为它是无效的 JSON。

于 2015-07-20T14:44:35.407 回答