【问题标题】:Problem with Token URL for Basecamp 3 APIBasecamp 3 API 的令牌 URL 问题
【发布时间】:2023-03-08 15:28:01
【问题描述】:

我正在构建一个 oauth 应用程序以使用 PHP 连接到 Basecamp 3 API,并遵循此处的文档。

https://github.com/basecamp/api/blob/master/sections/authentication.md

请求授权 url 工作正常

https://launchpad.37signals.com/authorization/new

但令牌 url 产生的页面未找到

https://launchpad.37signals.com/authorization/token

我联系了 Basecamp,但没有得到回复。他们确实说他们不会优先考虑 API 的假设问题,因为他们的客户很少使用它。

关于获取令牌的正确网址是什么?

【问题讨论】:

  • 我刚刚向他们提交了一个 API 问题,该问题与关于刷新令牌的令人困惑的 OAuth 流程有关。希望我能听到他们的消息,不知道这对他们的支持团队来说是低优先级。

标签: oauth basecamp


【解决方案1】:

有4个步骤:

第 1 步:选择 webhook 服务或构建您自己的服务(这肯定需要更多时间)。这将收到身份验证。

第 2 步:在 Basecamp 中注册您的应用。它会给你客户端密钥和密钥

第 3 步:您需要对 .../new 地址进行 GET 调用。您需要传递客户端密钥、密钥和重定向 url。 API 将向 Webhook 发送一个 8 位数字。您需要从 webhook 中检索它。

第 4 步:对 .../token 地址进行相同的 GET 调用。除了标题中的所有先前信息之外,您还将传递密钥。然后你会收到一个访问令牌。

假设使用此访问令牌,您应该能够激活所有其他 API。我还没有弄清楚这部分。

【讨论】:

  • 谢谢史蒂文。通过向 Basecamp 注册一个新应用程序,我能够解决我看到的错误。然后令牌 url 正常工作,我反过来能够对其应用程序的各个方面进行 API 调用,在每次调用中传递访问令牌。
  • 您能分享一下您是如何将访问令牌传递给 API 调用的吗?我无法继续前进。
  • Steven,我正在使用 PHP curl 调用来执行此操作。一旦我将 8 位代码传递给 webhook,Basecamp 将发回一个包含 access_token 和 refresh_token 的 json 数组。您需要将这些存储在您的应用程序中。然后,当您对 API 进行 curl 调用时,您会在标头中传递 access_token,例如“授权:承载 YOUR_ACCESS_TOKEN”。 access_token 将在一段时间后过期,当这种情况发生时,您的 api 调用将不起作用。然后将刷新令牌传递给 webhook 以检索新的 access_token。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
  • 2019-01-18
  • 2020-09-06
相关资源
最近更新 更多