2015-12-15 74 views
3

Instagram最近更改了它们的API,因此它不再使用client_id,而是使用access_token。不使用ACCESS_TOKEN调用Instagram API

我只想得到一张我拥有的instagram照片并放到我的网站上。

这是我以前ajax呼叫使用jsonp

'https://api.instagram.com/v1/users/'+_instagram._id+'/media/recent/?client_id='+_instagram._clientId

我该怎么做,现在有access_token?我不希望我的网站的访问者每次都登录到instagram只是为了查看我的网站上提供的我的instagram图片

回答

4

如果我正确地得到您的问题,您想要获取自己最近的媒体,已经在Instagram上发布了使用访问令牌的新API端点。

所以,解决这个问题非常简单。你不需要你的访问者每次登录他们的Instagram来在Instagram上查看你的媒体。

使用访问令牌(使用服务器端明确的方法,首选):

  • 请求拨号代码:

    var redirect_uri = "&redirect_uri="<REDIRECT-URI>, 
        scope = "&scope=basic", 
        response_type = "&response_type=code", 
        url = "https://api.instagram.com/oauth/authorize/?client_id=" + <CLIENT-ID> + redirect_uri + response_type + scope; 
    
  • 交换密码令牌: 提取来自http://your-redirect-uri?code=CODE的代码并交换此代码以使用se获得访问令牌如cURL的边缘方法(首选)

    • 使用端点:https://api.instagram.com/oauth/access_token
    • 下面的参数传递,

      • CLIENT_ID
      • client_secret
      • grant_type为 “authorization_code”
      • REDIRECT_URI
      • 代码

不使用访问令牌(使用隐式方法):

  • 请求访问令牌: 使用https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token
  • 获取访问令牌: 提取令牌使用http://your-redirect-uri#access_token=ACCESS-TOKEN

获取您发布媒体: 使用端点https://api.instagram.com/v1/users/self/media/recent/?access_token=<ACCESS-TOKEN>(如果需要,可以通过可选的参数,如计数)



这里访问者不需要登录他们的账户。一旦你有链接,将它们保存在数据库中,这样你就不必每次都登录。

希望它有帮助!

+0

感谢您的回答! –

+0

欢迎! @ChristianSakai – coderz

+0

什么,如果access_token过期了? – nipeco