我正在开发一个 .net 应用程序来访问我的 tumblr 帐户。
在 ouath 握手中,我正在通过授权步骤。但是,当尝试获取我的访问令牌时(在我在 tumblr 上授权我的帐户以授予我的应用程序权限之后)我收到 oauth_signature 的 401 错误与预期值不匹配
这是我为获取访问令牌而调用的网址……这种格式有问题吗?(出于隐私目的,我为我的消费者密钥、oauth 令牌和 oauth 验证器添加了一些 z)。这与我用于 twitter 的格式相同,效果很好。
有任何想法吗?
我正在开发一个 .net 应用程序来访问我的 tumblr 帐户。
在 ouath 握手中,我正在通过授权步骤。但是,当尝试获取我的访问令牌时(在我在 tumblr 上授权我的帐户以授予我的应用程序权限之后)我收到 oauth_signature 的 401 错误与预期值不匹配
这是我为获取访问令牌而调用的网址……这种格式有问题吗?(出于隐私目的,我为我的消费者密钥、oauth 令牌和 oauth 验证器添加了一些 z)。这与我用于 twitter 的格式相同,效果很好。
有任何想法吗?
原来,在设置 URL 以请求授权的步骤中获得的 oauth 令牌秘密也需要保存,然后在最后一步中使用,以获取访问令牌和秘密。
您只需要在执行调用后提取 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
for 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
.