根据雅虎的文档,我按照以下步骤进行了操作:
接收oauth_token并尝试通过以下网址呼叫联系人api以获取具有GET请求的联系人列表:
http://social.yahooapis.com/v1/user/”。$ xoauth_yahoo_guid。 “/contacts?format=json&oauth_consumer_key='._YH_APP_CK。 '&安培; oauth_signature_method = PLAINTEXT&安培; oauth_nonce = noncedata&安培; oauth_version = 1.0'。 '&安培; oauth_signature ='。._ YH_APP_SK '%26' $ _ SESSION [ 'yahoo_token_secret']。 '和;组oauth_token =' $的oauth_token。 '&安培; oauth_timestamp ='。date_timestamp_get(date_create());
,其中
$xoauth_yahoo_guid // user id
_YH_APP_CK // consumer key
_YH_APP_SK // consumer secret key
$_SESSION['yahoo_token_secret'] // secret token that was received from yahoo
我使用PLAINTEXT
作为oauth_signature_method
并使用连锁密钥和秘密令牌设置签名,如文档中所述,但仍然出现token_rejected
错误,有人可以帮我找到原因吗?感谢。
答案 0 :(得分:0)
我发现oauth_signature_method=PLAINTEXT
无法用于http://
次请求。在这种情况下应该使用oauth_signature_method=HMAC-SHA1
。
以下代码可用于使用HMAC-SHA1方法创建oauth_signature:
https://github.com/joechung/oauth_yahoo/blob/master/getacctok.php