zend-framework – Linkedin OAuth和Zend检索Acces Token返回’HTTP请求中的错误’

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了zend-framework – Linkedin OAuth和Zend检索Acces Token返回’HTTP请求中的错误’脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
回答新问题

我发现下面的代码在LIVE服务器上工作得很好. LinkedIN阻止了来自localhost的所有请求.

那确立了;有人知道如何使用LinkedIN OAuth从localhost测试应用程序吗?因为在实时服务器上这样做很糟糕!

老问题

我正在尝试将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'
    );

并且连接到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();
    }

我错过了什么或做错了什么?我使用Twitter的similair设置,并且工作正常.

更新于9月20日211

我发现此规则返回错误

$token = $this->consumer->getRequestToken();

我仍然无能为力,阅读linkedin api并没有多大帮助.将及时向大家发布.

解决方法

我遇到了类似的问题,在添加openssl扩展后它就解决

尝试添加PHP.ini这一行:

extension=PHP_openssl.dll

脚本宝典总结

以上是脚本宝典为你收集整理的zend-framework – Linkedin OAuth和Zend检索Acces Token返回’HTTP请求中的错误’全部内容,希望文章能够帮你解决zend-framework – Linkedin OAuth和Zend检索Acces Token返回’HTTP请求中的错误’所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。