我正在为tumblr构建一个chrome扩展。我使用jsoauth库来做oauth部分,但是我得到了一个401错误。
确切的错误是,"oauth_signature D6rDCSn/ClGhMyTq24/c6419t8I=与预期值wnrVNhZYCSfRmKSTaKyb9dg7vNQ=不匹配“
我不知道是什么引起的。下面是我的代码:
Background.html
<html>
<script type="text/javascript" src="jsOAuth-1.3.6.min.js"></script>
<script type="text/javascript" src="background.js"></script>
</html>background.js
function getAccess(){
var oauth, options;
options = {
consumerKey: 'KEY',
consumerSecret: 'SECRET',
requestTokenUrl: "http://www.tumblr.com/oauth/request_token",
authorizationUrl: "http://www.tumblr.com/oauth/authorize",
accessTokenUrl: "http://www.tumblr.com/oauth/access_token"
};
oauth = OAuth(options);
oauth.fetchRequestToken(openAuthoriseWindow, failureHandler);
function openAuthoriseWindow(url)
{
var wnd = window.open(url, 'authorise');
oauth.setVerifier(false);
oauth.fetchAccessToken(output,failureHandler);
function output(url)
{
console.log("success!");
}
}
function failureHandler(data)
{
console.error(data);
}
}
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.greeting == "getAccess"){
sendResponse({farewell: "It worked"});
getAccess();
}
});发布于 2012-10-17 03:50:31
将False作为oauth_verifier发送是错误的。
Tumblr会将你重定向到他们在文件上的oauth_callback,其中包括你需要进入jsOAuth中的.setVerifier的oauth_verifier。
Tumblr API文档在解释ouath授权过程时非常疏忽,但这只是我的观点。
https://stackoverflow.com/questions/12906935
复制相似问题