我正在使用.net应用程序访问我的tumblr帐户。
在ouath握手中,我通过授权步骤进行。但是当我尝试获取访问权限时(在我授权tumblr上的帐户授予我的应用权限后),我收到401错误的oauth_signature与预期值不匹配
这是我的网址,我打电话来获取访问令牌......这种格式有问题吗? (为了隐私目的,我为我的消费者密钥,oauth令牌和oauth验证器添加了一些z)。这与我用于推特的格式相同。
任何想法?
答案 0 :(得分:4)
结果在设置URL的过程中获得的oauth令牌秘密也需要保存,然后在获取访问令牌和秘密的最后一步中使用。
答案 1 :(得分:1)
您只需要在执行调用后提取 oauth_token_secret
https://www.tumblr.com/oauth/request_token
第二次调用的参数:
$params = array(
"oauth_consumer_key" => $this->key,
"oauth_nonce" => time(),
"oauth_signature_method" => "HMAC-SHA1",
"oauth_timestamp" => time(),
"oauth_token" => $tumblr_oauth_token,
"oauth_verifier" => $oauth_verifier,
"oauth_version" => "1.0",
);
然后将 token_secret
用于 oauth_signature
:
$secret = encode_rfc3986($token)."&".encode_rfc3986($token_secret);
$params['oauth_signature']=encode_rfc3986(base64_encode(hash_hmac('sha1',$baseString, $secret, TRUE)));
一切都完成了。问题发生的原因是 oauth_signature
。