2

语境

我正在尝试使用他们的OAuth 规范从 Flickr API 获取访问令牌

获取 Access Token 的第一步是获取Request Token。我成功地生成了一个正确签名且有效的 URL 来请求这个令牌:当我在浏览器中复制/粘贴生成的 URL 时,我得到了正确的响应。

问题

由于这部分与用户无关,我试图通过进行简单的 Ajax 调用来获取请求令牌:

console.log(baseURL + "?" + requestURL);
// When I copy/paste the log result in my browser, it works.

$.ajax({
    url: baseURL,
    type: 'GET',
    data: requestURL,
    done: function(data) {
        console.log('Request Token data', data);
    }
});

问题是我遇到了Access-Control-Allow-Origin问题:

XMLHttpRequest cannot load http://www.flickr.com/...
Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin. 

我尝试使用dataType: 'jsonp'作为 Ajax 调用的参数,但没有成功:

获取 http://www.flickr.com/... 401(未经授权)

有任何想法吗?非常感谢您的帮助!

4

1 回答 1

1

在没有任何服务器端脚本的情况下,仅通过 javascript 实现 Oauth 1.0 是不可能的。由于 flickr 的新身份验证过程基于 Oauth 1.0a。您必须使用服务器端脚本。

于 2014-01-09T08:46:48.510 回答