【问题标题】:How do I get access token from Foursquare?如何从 Foursquare 获取访问令牌?
【发布时间】:2023-03-07 03:06:01
【问题描述】:

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

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

【问题讨论】:

  • 你的意思是你没有实质性的服务器代码?
  • 应该有 oauth java 库来帮助你解决这个问题。如果你只需要这个令牌一次,你可以使用 Postman 之类的工具
  • 我需要 java 源代码来生成社交 api 的访问令牌 -- etcfoursquare

标签: java rest api access-token foursquare


【解决方案1】:

Foursquare docs 详细介绍了该过程。有两种选择:

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

这两个选项都需要您通过Foursquare Developer site 设置应用程序。您需要为 Foursquare 设置重定向 URL 以重定向回。这通常是一个可公开访问的 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 } 
    

此访问令牌正是您要查找的。

第二种方法,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 查询参数就是您要找的。

【讨论】:

    【解决方案2】:
    1. 转到 Foursquare.com 开发者控制台上的“应用设置”页面

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

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

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

    4. 接受然后查看您的网络浏览器的网址(请注意网址的代码部分,以便在第 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 课程讲师。

    【讨论】:

      猜你喜欢
      • 2012-02-28
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2013-03-30
      • 2021-11-10
      • 2012-04-09
      相关资源
      最近更新 更多