Flickr API OAuth Access Token request and Access-Control-All

Flickr API OAuth Access Token request and Access-Control-Allow-Origin

本文关键字:request and Access-Control-All Token Access API OAuth Flickr      更新时间:2023-09-26

上下文

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

获取

访问令牌的第一步是获取请求令牌。我成功地设法生成了一个正确签名且有效的 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);
    }
});

问题是我遇到了访问控制允许来源问题:

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

我尝试使用数据类型:"jsonp"作为Ajax调用的参数,但没有成功:

得到 http://www.flickr.com/...401(未经授权)

有什么想法吗?提前非常感谢您的帮助!

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