共计 695 个字符,预计需要花费 2 分钟才能阅读完成。
微软 microsoft-graph 接口调用过程中,本地开发正常,但是线上报错如下:
{"error":{"code":"InvalidAuthenticationToken","message":"Access token is empty.","innerError":{"date":"2022-04-06T20:28:46","request-id":"e61b8687-2080-4a3d-bfe0-dec001f25f54","client-request-id":"e61b8687-2080-4a3d-bfe0-dec001f25f54"}}}
好像是说 accesstoken 为空,但是通过前面的 $accessToken = $token->access_token 查看,是有值的
通过更换 PHP 版本,以及扩展更新,都没有解决。
最后从官方的 github 评论区发现一个解决办法,是因为开启 HTTP2 之后才报错的,所以屏蔽他即可:
路径:msgraph-sdk-php/src/Http/GraphRequest.php
拉到最后几行,屏蔽 $clientSettings[‘version’] = ‘2’;
if (extension_loaded('curl') && defined('CURL_VERSION_HTTP2') && (curl_version()["features"] & CURL_VERSION_HTTP2 !== 0)) {
// Enable HTTP/2 if curl lib exists and supports it
$clientSettings['version'] = '2';
}
此时再请求,发现一切正常
正文完
加入官方交流QQ群:778957856