0

LinkedInアクセストークンをデータベースに保存しています。これは私のデータベースに保存されているトークンです:

oauth_token=xxxxxxxxxxxxxxxxxxx&oauth_token_secret=xxxxxxxxxxxxxxxxxxx&oauth_expires_in=5183998&oauth_authorization_expires_in=5183998

このアクセストークンを使用してLinkedIn接続を取得したい。私はこのような電話をかけようとしています:

        $a = new Zend_Oauth_Token_Access();
        $client = $a->getHttpClient( array( 
                        'siteUrl' => LIN_SITE_URL,
                        'callbackUrl' => LIN_SITE_CALLBACK_URL,
                        'requestTokenUrl' => LIN_REQUEST_TOKEN_URL,
                        'userAuthorizationUrl' => LIN_USER_AUTHORIZATION_URL,
                        'accessTokenUrl' => LIN_ACCESS_TOKEN_URL,
                        'consumerKey' => LIN_CONSUMER_KEY,
                        'consumerSecret' => LIN_CONSUMER_SECRET
                    ) );

        $client->setUri('http://api.linkedin.com/v1/people/~/connections:(id,first-name,last-name,picture-url)');   
        $client->setParameterGet('token',$linToken);
        $client->setMethod(Zend_Http_Client::GET);
        $response = $client->request();

        $content =  $response->getBody();
        $data = json_decode(Zend_Json::fromXml($content, false));   
        print_r($data); echo "<br/>";

私がここで得ているエラーは次のとおりです。

stdClass Object ( [error] => stdClass Object ( [status] => 404 [timestamp] => 1349429996351 [request-id] => 8U8A1UNF1V [error-code] => 0 [message] => Could not find person based on: ~ ) ) 

これは電話をかける正しい方法ですか、それとも私はここで何か間違ったことをしていますか?私はzendフレームワークを使用しています。

ありがとう。

4

2 に答える 2

1

コード例では、アクセス トークンとシークレットを設定している場所がわかりません。$a 変数をインスタンス化していることがわかります。

$a = new Zend_Oauth_Token_Access();

データベースからアクセス トークンとシークレットを取得し、それを $a 変数に設定していますか? このようなもの:

   $a->setToken($row['token'])
     ->setTokenSecret($row['secret']);

ところで、これは Zend と LinkedIn を使用するための良いリファレンスです: http://www.contentwithstyle.co.uk/content/linkedin-and-zendoauth/

于 2012-10-05T23:05:23.823 に答える