如何使用带有php的office365回复消息


How reply a message useing office365 with php

我使用的是office365应用程序,引用自https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#Createandsendmessages和https://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(。

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

几个问题:

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

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