Ric*_*aaf 5 zend-framework oauth linkedin access-token
答案+新问题
我发现下面的代码在LIVE服务器上可以正常工作。LinkedIN阻止了来自本地主机的所有请求。
成立;有人知道如何使用LinkedIN OAuth从本地主机测试应用程序吗?因为在实时服务器上执行此操作很烂!
旧问题
我正在尝试将Zend_OAuth连接到LinkedIN。该代码曾经可以工作,但是现在我尝试检索访问令牌时,它在http请求中返回错误。
尝试检查LinkedIN API,但代码仍然有效。尝试了多个脚本,但所有脚本都具有相同的结果。
配置是在我的控制器的preDispatch中设置的
$this->configLinkedin = array(
'version' => '1.0',
'siteUrl' => 'http://'.$_SERVER['HTTP_HOST'].$this->view->baseUrl(false).'/news/index/connectlinkedin',
'callbackUrl' => 'http://'.$_SERVER['HTTP_HOST'].$this->view->baseUrl(false).'/news/index/connectlinkedin',
'requestTokenUrl' => 'https://api.linkedin.com/uas/oauth/requestToken',
'userAuthorisationUrl' => 'https://api.linkedin.com/uas/oauth/authorize',
'accessTokenUrl' => 'https://api.linkedin.com/uas/oauth/accessToken',
'consumerKey' => 'XXX',
'consumerSecret' => 'XXX'
);
Run Code Online (Sandbox Code Playgroud)
动作中连接linkedIN的代码是
$this->consumer = new Zend_Oauth_Consumer($this->configLinkedin);
if(!empty($_GET) && isset($_SESSION['LINKEDIN_REQUEST_TOKEN']))
{
$token = $this->consumer->getAccessToken($_GET, unserialize($_SESSION['LINKEDIN_REQUEST_TOKEN']));
// Use HTTP Client with built-in OAuth request handling
$client = $token->getHttpClient($this->configLinkedin);
// Set LinkedIn URI
$client->setUri('https://api.linkedin.com/v1/people/~:(id,first-name,last-name,picture-url)');
// Set Method (GET, POST or PUT)
$client->setMethod(Zend_Http_Client::GET);
// Get Request Response
$response = $client->request();
$this->NewsService->TokenSocialMedia(
$token,
'linkedin',
serialize($response->getBody())
);
$_SESSION['LINKEDIN_REQUEST_TOKEN'] = null;
$this->_helper->flashMessenger(array('message' => $this->view->translate('The CMS is successfully connected to your linkedin account'), 'status' => 'success'));
$this->_helper->redirector('settings#settingSocial', 'index');
}
else
{
$token = $this->consumer->getRequestToken();
$_SESSION['LINKEDIN_REQUEST_TOKEN'] = serialize($token);
$this->consumer->redirect();
}
Run Code Online (Sandbox Code Playgroud)
我想念什么或做错什么?我为Twitter使用了类似设置,并且效果很好。
211年9月20日更新
我发现此规则返回错误:
$token = $this->consumer->getRequestToken();
Run Code Online (Sandbox Code Playgroud)
我仍然不知道为什么,阅读Linkedin API毫无帮助。将及时向大家发布。
我遇到了类似的问题,添加 openssl 扩展后就解决了
尝试将这一行添加到 php.ini:
extension=php_openssl.dll
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1647 次 |
| 最近记录: |