0

Yahooのユーザーから連絡先を取得するためのスクリプトの開発を始めました。連絡先を取得する前に、次のようなリンクのリクエストを実行すると、リクエストトークンを取得するのに問題があります。

<a class="yahoo" href="https://api.login.yahoo.com/oaut/v2/get_request_token?oauth_nonce=<?php echo uniqid() ?>&oauth_timestamp=<?php echo time() ?>&oauth_consumer_key=<?php echo $yahoo_consumer_key ?>&oauth_signature_method=plaintext&oauth_signature=<?php echo $yahoo_consumer_secret ?>&oauth_version=1.0&xoauth_lang_pref=en-us&oauth_callback=<?php echo urlencode('http://myfullurl.com') ?>">Get Contacts</a>

HTTPヘッダー401Forbiddenwith message:oauth_problem=signature_invalidを取得します

リンクを正しく設定しているかどうかはわかりませんが、http://developer.yahoo.com/oauth/guide/oauth-sign-plaintext.htmlで理解できました。

参照:http ://developer.yahoo.com/oauth/guide/oauth-requesttoken.html

4

1 に答える 1

1

への呼び出しhttps://api.login.yahoo.com/oaut/v2/get_request_tokenは、ユーザーがクリックする必要があるリンクではなく、サーバー側の呼び出しである必要があります。

その方法がわからない場合は、おそらくこれを処理するPHP OAuth ライブラリを使用する必要があります。

次に、Yahooがドキュメントで述べているように:

get_request_token へのリクエストの場合、Token Secret はありません。「&」文字が後に続くコンシューマ シークレットのみを含めます。

あなたのoauth_signatureはずです:

&oauth_signature=<?php echo $yahoo_consumer_secret . "&" ?>
于 2012-08-21T18:04:01.803 に答える