我正在尝试使用php + curl从Linkedin调用url https://www.linkedin.com/oauth/v2/accessToken获取访问令牌,如https://developer.linkedin.com/docs/oauth2所述。
但是如果我尝试将curl选项CURLOPT_SSL_VERIFYPEER设置为false,我会得到一个错误Peer certificate cannot be authenticated with known CA certificates -我得到一个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 -一切正常,并且我得到一个访问令牌!
发布于 2017-06-09 23:47:07
问题已经解决了。刚才我用的是俄罗斯的主机提供商,但是在俄罗斯Linkedin是被屏蔽的-- https://blocklist.rkn.gov.ru/#anchor,但是我的本地电脑位于乌克兰,所以我的请求在浏览器和终端上都成功了。
https://stackoverflow.com/questions/44426380
复制相似问题