我从我的客户端ID和重定向uri获取此直接网址的代码; https://foursquare.com/oauth2/authenticateclient_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
但我无法通过其他服务来做到这一点。我必须在我的java应用程序中嵌入此服务,然后获取访问令牌。我可以使用不同的选项,如果你知道另一种获取访问令牌的方式。你可以帮我吗?
答案 0 :(得分:1)
Foursquare docs详细介绍了这个过程。有两个选项:
这两个选项都要求您通过Foursquare Developer site设置应用。您需要为Foursquare设置重定向网址以重定向回。这通常是可公开访问的URL,但locahost
URL也可用于测试目的。
第一个是代码流,遵循标准的OAuth流程:
直接用户(通常通过链接或按钮完成)
https://foursquare.com/oauth2/authenticate?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI`
如果用户接受,则会将其重定向回
https://YOUR_REGISTERED_REDIRECT_URI/?code=CODE
您的服务器应该将步骤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
响应将为JSON
{ access_token: ACCESS_TOKEN }
此访问令牌是您正在寻找的内容。
第二种方法,令牌流程稍微容易一些:
将要进行身份验证的用户重定向到
https://foursquare.com/oauth2/authenticate?client_id=CLIENT_ID&response_type=token&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
如果用户接受,则会将其重定向回
https://YOUR_REGISTERED_REDIRECT_URI/#access_token=ACCESS_TOKEN
此access_token
查询参数是您正在寻找的内容。
答案 1 :(得分:0)
转到 Foursquare.com 开发者控制台上的“应用设置”页面
将“网址”下的“重定向网址”设置为https://www.google.com
在您的网络浏览器中粘贴并输入以下网址(将您的客户 ID 替换为您的实际客户 ID):
https://foursquare.com/oauth2/authenticate?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=https://www.google.com
这应该会将您重定向到请求建立连接权限的谷歌页面。
接受并查看您的网络浏览器的网址(注意网址的 CODE 部分以在步骤 5 中使用)
它应该看起来像 https://www.google.com/?code=CODE
复制上一步的代码值。
将以下内容粘贴并输入您的网络浏览器(用实际值替换占位符):
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。
当您粘贴链接时,这应该会引导您进入一个页面,该页面为您提供访问令牌。
致谢:IBM 课程讲师。