1

this question with no answer のように、PHP/OAuth を介して Linked in に接続しようとしています。トークンを取得しました。すべてが機能しました。しかし、何らかの理由で Linkedin がコールバック URL に戻って PIN を要求しません。ヘルプ?

ドキュメントから、これはコールバック URL がない場合にのみ発生するはずですか?

$token = $linkedInOAuth->getRequestToken();

array(5) {
  ["oauth_token"]=>
  string(36) "[valad_token]"
  ["oauth_token_secret"]=>
  string(36) "[valad_secret]"
  ["oauth_callback_confirmed"]=>
  string(4) "true"
  ["xoauth_request_auth_url"]=>
  string(44) "https://api.linkedin.com/uas/oauth/authorize"
  ["oauth_expires_in"]=>
  string(3) "599"
}

$linkedInOAuth->getAuthorizeURL($token, site_url('practice/linkedin_auth_callback'));

string(169) "https://api.linkedin.com/uas/oauth/authorize?oauth_token=[valad_token]&oauth_callback=http%3A%2F%2Fwww.core.me%2Fpractice%2Flinkedin_auth_callback"

その後、リンクが<a href="<?= $auth_url ?>">Click here to Auth Linked in</a>挿入されますが、ユーザーがログインしてログインすると、PIN ページに移動しますか?

4

2 に答える 2

2

LinkedIn API は Oauth 1.0a を使用しているようです。最初のリクエスト トークンを取得するときにコールバック URL を渡す必要があります。

こちらをご覧ください

または、Oauth 1.0a 仕様を読んでください。

それらはそれを保存し、ユーザーがリクエスト トークンを承認すると、そのリクエスト トークンに対して保存された URL にコールバックします。

于 2012-08-17T22:36:42.207 に答える
0

WayneCの回答のおかげで、作業コードは次のとおりです。

        $linkedInOAuth = $this->load->library('practice/linkedInOAuth', array(
            'consumer_key' => '[KEY]',
            'consumer_secret' => '[SECRET]'
                )
        );


        $linkedInOAuth->request_options = array(
            'oauth_callback' => site_url('practice/linkedin_auth_callback')
        );
        $token = $linkedInOAuth->getRequestToken();

        if ($token === FALSE) {
            show_error("Failed to get token", "502", "Failed to get Linked in Access token");
        }

        $auth_url = $linkedInOAuth->getAuthorizeURL($token, site_url('practice/linkedin_auth_callback'));

次のクラスを使用します。

于 2014-05-12T18:33:17.623 に答える