InvalidAuthenticationToken和CompactToken问题 - 使用PHP Curl

时间:2016-02-27 04:43:48

标签: office365 microsoft-graph

我能够通过oauth(参数:代码)等用户登录成功获取access_token。但是,每次我尝试将授权标题(通过php)发布到图形端点(例如/ me) ),我最终得到了这个错误:

{
error: {
code: "InvalidAuthenticationToken",
message: "CompactToken parsing failed with error code: -2147184105",
innerError: {
request-id: "59cc0e42-90b7-445a-8bf7-009ff476bcbe",
date: "2016-02-27T04:39:09"
}
}
}

什么是CompactToken解析?有没有办法找出解决这个问题的方法?

注意:在撰写本文时,没有用于Microsoft Graph的PHP SDK,所以我只是使用php进行curl调用

1 个答案:

答案 0 :(得分:1)

此错误显然是由于在curl请求中将OAuth令牌作为OAuth而非Bearer发送。

这引发了上述错误:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: 0',
    'Authorization: OAuth '.$token)                                                                       
);        

这产生了成功的回应:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: 0',
    'Authorization: Bearer '.$token)                                                                       
);