我能够通过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调用
答案 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) );