如何从Foursquare获取访问令牌?

时间:2017-08-01 08:06:00

标签: java rest api access-token foursquare

我从我的客户端ID和重定向uri获取此直接网址的代码; https://foursquare.com/oauth2/authenticateclient_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

但我无法通过其他服务来做到这一点。我必须在我的java应用程序中嵌入此服务,然后获取访问令牌。我可以使用不同的选项,如果你知道另一种获取访问令牌的方式。你可以帮我吗?

2 个答案:

答案 0 :(得分:1)

Foursquare docs详细介绍了这个过程。有两个选项:

  • Web应用程序代码流程
  • Web应用程序令牌流程

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

第一个是代码流,遵循标准的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 } 
    
  5. 此访问令牌是您正在寻找的内容。

    第二种方法,令牌流程稍微容易一些:

    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
      
    3. access_token查询参数是您正在寻找的内容。

答案 1 :(得分:0)

  1. 转到 Foursquare.com 开发者控制台上的“应用设置”页面

  2. “网址”下的“重定向网址”设置为https://www.google.com

  3. 在您的网络浏览器中粘贴并输入以下网址(将您的客户 ID 替换为您的实际客户 ID)
    https://foursquare.com/oauth2/authenticate?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=https://www.google.com

    这应该会将您重定向到请求建立连接权限的谷歌页面。

  4. 接受并查看您的网络浏览器的网址(注意网址的 CODE 部分以在步骤 5 中使用)
    它应该看起来像 https://www.google.com/?code=CODE

  5. 复制上一步的代码值。
    将以下内容粘贴并输入您的网络浏览器(用实际值替换占位符)
    https://foursquare.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=https://www.google.com&code=CODE

  6. 当您粘贴链接时,这应该会引导您进入一个页面,该页面为您提供访问令牌

致谢:IBM 课程讲师。