0
當我嘗試從linkedin申請額外的權限時,除了基本許可外,我沒有在對話框中獲得任何權限列表。任何一個人都可以指出我的解決方案。我嘗試urlencoding的權限,但仍然沒有得到任何迴應。這裏是我的代碼:我點擊'註冊與Linkedin'按鈕來調用這個函數。Linkedin:權限請求不起作用
public function linkedinaccessAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
$scope = 'r_basicprofile+r_emailaddress+r_network+r_contactinfo';
$options = array(
'version' => '1.0',
'siteUrl' => 'http://localhost/project/development/',
'callbackUrl' => 'http://localhost/project/development/signup/linkedinaccess',
'requestTokenUrl' => 'https://api.linkedin.com/uas/oauth/requestToken?scope=' . $scope,
'userAuthorizationUrl' => 'https://api.linkedin.com/uas/oauth/authorize',
'accessTokenUrl' => 'https://api.linkedin.com/uas/oauth/accessToken',
'consumerKey' => 'myconsumerkey',
'consumerSecret' => 'myconsumersecret'
);
$consumer = new Zend_Oauth_Consumer($options);
if (!isset($_SESSION ['LINKEDIN_ACCESS_TOKEN'])){
if(! empty ($_GET)){
//consumer = new Zend_Oauth_Consumer($options);
$accessToken = $consumer->getAccessToken ($_GET, unserialize ($_SESSION ['LINKEDIN_REQUEST_TOKEN']));
echo $accessToken;
$_SESSION ['LINKEDIN_ACCESS_TOKEN'] = serialize ($accessToken);
}else{
$requestToken = $consumer->getRequestToken();
$_SESSION ['LINKEDIN_REQUEST_TOKEN'] = serialize ($requestToken);
$consumer->redirect();
}
}else{
$accessToken = unserialize ($_SESSION ['LINKEDIN_ACCESS_TOKEN']);
// Use HTTP Client with built-in OAuth request handling
$client = $accessToken->getHttpClient($options);
// Set LinkedIn URI
$client->setUri('https://api.linkedin.com/v1/people/~');
// Set Method (GET, POST or PUT)
$client->setMethod(Zend_Http_Client::GET);
// Get Request Response
$response = $client->request();
// Get the XML containing User's Profile
$content = $response->getBody();
print_r($content);
}
}
謝謝。
上面的代碼將使用REST來訪問網絡 - 將有不需要使用JavaScript登錄插件,這就是你似乎在說你在做什麼。 –
@PaulMennega - 感謝您的回覆。恩,那就對了。 – VishwaKumar