我正试图从Linkedin调用网址https://www.linkedin.com/oauth/v2/accessToken获取访问令牌,如https://developer.linkedin.com/docs/oauth2所述,使用php + curl
但我收到错误Peer certificate cannot be authenticated with known CA certificates
如果我尝试将curl选项CURLOPT_SSL_VERIFYPEER设置为false - 我收到anotger错误403 Forbidden
。
$client = new \yii\httpclient\Client([
'transport' => 'yii\httpclient\CurlTransport',
]);
$response = $client->createRequest()
->setMethod('post')
->setUrl('https://www.linkedin.com/oauth/v2/accessToken')
->addHeaders(['content-type' => 'application/x-www-form-urlencoded'])
->setData([
'grant_type' => 'authorization_code',
'code' => $_GET['code'],
'redirect_uri' => 'http://test-network.tk/user/settings/test',
'client_id' => 'MY_CLIENT_ID',
'client_secret' => 'MY_CLIENT_SECRET',
])
->setOptions([
'sslVerifyPeer' => false,
])
->send();
请帮帮我
PS:如果我尝试通过浏览器或linux命令行使用GET调用相同的URL - 一切正常,我得到一个访问令牌!
答案 0 :(得分:0)
问题解决了。我只使用了一家俄罗斯托管服务提供商,但在俄罗斯,LinkedIn已被封锁 - https://blocklist.rkn.gov.ru/#anchor 但我的本地电脑位于乌克兰,所以我的请求是从浏览器和终端成功的。