Instagram如何获得access_token
Instagram how to get access_token
我是Instagram应用程序开发的新手,并且已经为这个问题苦苦挣扎了一段时间。基本上,这是它的样子:
我正在将用户重定向到授权网址,如下所示:
window.open("https://api.instagram.com/oauth/authorize/?client_id=" + igClientId + "&redirect_uri=" + igCallbackUrl + "&response_type=code", "_blank");
然后,当用户登录时,页面将重新加载,并在回调网址(' ?code=returned_by_instagram_code
'(的末尾添加Instagram代码。
这就是我卡住的地方。
页面重新加载后,我如何从 url 获取返回的代码(它存储在 cookie 或会话中,以便我可以以某种方式访问它,或者我应该通过回调 url 和附加到它的一些函数以某种方式获取它(?
接下来,当我获得代码时,我可以向Instagram发送(POST
(请求以获取access_token
吗?
提前感谢您的任何帮助。
附言。我正在使用没有任何框架(例如jquery(的javascript,这就是我正在寻找的响应。
来自有关仅使用客户端访问令牌生成 (http://instagram.com/developer/authentication/( 的文档,您需要更改的关键是 URL 中的响应代码为:&response_type=令牌
客户端(隐式(身份验证如果你正在构建一个没有服务器组件的应用(例如,一个纯粹的 javascript 应用(,你会注意到,如果不同时寄送客户端密码,就不可能完成上述第三步来接收access_token。切勿将客户端机密传送到无法控制的设备上。那你怎么得到一个access_token?负责OAuth 2.0规范的聪明人已经预料到这个问题,并创建了隐式身份验证流程。
第一步:将您的用户定向到我们的授权 URL
https://instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECTURI&response_type=token
此时,我们会向用户显示一个登录屏幕,然后显示一个确认屏幕,他们批准您的应用访问其 Instagram 数据。请注意,与显式流不同,此处的响应类型是"令牌"。
步骤 2:通过 URL 片段接收access_token
用户通过身份验证并授权你的应用程序后,我们会使用 url 片段中的access_token将他们重定向到你的redirect_uri。它看起来像这样:
http://your-redirect-uri#access_token=270740070.f59def8.d58713f2c81741c5b3686109306f98b4
只需从 URL 片段中获取access_token,您就可以开始了。如果用户选择不授权您的应用程序,您将收到与显式流中相同的错误响应
一个简单的例子,在api.instagran(https://instagram.com/developer/clients/register/(上的注册应用程序中获取令牌。在以下之前登录:
var accessToken = '5e6e329062f047dd95ggj6c9df202c828';
$.ajax({
url: 'https://api.instagram.com/v1/media/popular',
dataType: 'jsonp',
type: 'GET',
data: {client_id: accessToken},
success: function(data){
console.log(data);
for(x in data.data){
$('ul').append('<li><img src="'+data.data[x].images.low_resolution.url+'"></li>');
}
},
error: function(data){
console.log(data);
}
}(;
igCallbackUrl 将重定向到一个页面。该代码可以作为该请求的 GET 参数进行访问。
类似于 php 中的 GET['code']。如果您提供有关服务器端框架的更多详细信息,那么回答您的问题会很有帮助。
如果你在Javascript上使用,你可以使用 github.com/Instagram/instagram-javascript-sdk。
- 如何解决Access Control Allow Origin错误
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 使用JavaScript插入Access数据库
- AWSELB Cookie access from Javascript
- XMLHttpRequest : 不被 access-control-allow-origin 所允许
- HTML将数据保存在Access中
- 对/Token的ASP Web API调用间歇性
- 使用 node.js 设置 Microsoft Access 数据库连接
- 来自 MS Access 的 JavaScript 陷阱为空
- 无法让 token.remove() 在 Facebook Emitter 中工作
- 可以在Access Control Allow Origin中指定端口
- Access Control Allow Origin阻止我访问google api,尽管使用了dataType:
- JSONP跨原点错误'不存在Access Control Allow Origin标头'
- 角度:原点http://localhost在Access Control Allow Origin标头中找不到
- Angular$resource调用不被Access Control Allow使用Safari接受,而被Chrome接
- Instagram API access_token request and Access-Control-Allow-
- 方法不允许 — 从 Angularjs 中的请求标头中删除 Access-Control-Request-Method
- Flickr API OAuth Access Token request and Access-Control-All
- JS SDK facebook API pass access token
- 客户端(Jquery&Angular)不能发送带有x-access-token头的请求