2017-08-01 176 views
0

我使用我的客户端ID和重定向URI从此直接网址获取代码; https://foursquare.com/oauth2/authenticateclient_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI如何从Foursquare获取访问令牌?

但我不能与其他服务做到这一点。我必须将此服务嵌入到我的Java应用程序中,然后获取访问令牌。我可以使用这个不同的选项,如果有另一种方式你知道获取访问令牌。你能帮我吗?

+0

你的意思是你没有实质性的服务器代码? –

+0

应该有oauth java库来帮助你解决这个问题。如果你只需要这个令牌一次,你可以使用像Postman这样的工具 –

+0

我需要java源代码来为社交apis生成访问令牌 - etc foursquare –

回答

0

Foursquare docs穿行的过程很详细。有2个选项:

  • Web应用程序的代码流
  • Web应用程序标记流程

这两个选项都需要您设置通过Foursquare Developer site的应用程序。您需要为Foursquare重新定向重定向网址。这通常是可公开访问的网址,但locahost网址也适用于测试目的。

第一,代码流,遵循标准的OAuth过程:

  1. 直接用户(通常通过一个链接或按钮来完成)至

    https://foursquare.com/oauth2/authenticate?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI` 
    
  2. 如果用户接受,它们将被重定向回

    https://YOUR_REGISTERED_REDIRECT_URI/?code=CODE 
    
  3. 您的服务器交换它在步骤2中为访问令牌获取的代码。 ,以请求

    https://foursquare.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE 
    
  4. 的响应将是JSON

    { access_token: ACCESS_TOKEN } 
    

此访问令牌是你在找什么。

第二种方法,令牌流是稍微容易:

  1. 谁愿意来验证

    https://foursquare.com/oauth2/authenticate?client_id=CLIENT_ID&response_type=token&redirect_uri=YOUR_REGISTERED_REDIRECT_URI 
    
  2. 如果用户接受重定向用户,他们将被重定向回

    https://YOUR_REGISTERED_REDIRECT_URI/#access_token=ACCESS_TOKEN 
    

这个access_token查询参数是你要找的。