如何获取bitbucket的refresh_token?

Dee*_*har 2 bitbucket token bitbucket-api access-token refresh-token

我正在使用以下 API

https://bitbucket.org/site/oauth2/authorize?client_id={client_id}&response_type=token
Run Code Online (Sandbox Code Playgroud)

获取 access_token 但 access_token 在 1 小时后过期,我需要 refresh_token 但我无法在上述 API 的响应中获取 refresh_token。上述API的响应是

https://www.example.com/#access_token={access_token}&scopes={scopes}&expires_in=3600&token_type=bearer
Run Code Online (Sandbox Code Playgroud)

您可以在上面的回复中看到没有或者是否有其他方法可以获得 refresh_token。

我想将上述 API 调用为 GET 方法。

可以请人帮忙。

谢谢你!

Pet*_*nko 6

在您的浏览器中转到

https://bitbucket.org/site/oauth2/authorize?client_id={client_id}&response_type=code

授权使用您的 bitbucket 帐户。

之后,您的浏览器将被重定向到

{your_redirect_link}/?code={code}

使用代码在终端中发出另一个请求:

curl -X POST -u "{client_id:secret}" https://bitbucket.org/site/oauth2/access_token -d grant_type=authorization_code -d code={code}

响应将如下所示:

{
  "access_token": "some_long_string",
  "scopes": "team webhook account issue wiki pipeline pullrequest project snippet",
  "expires_in": 7200,
  "refresh_token": "the_string_you_need",
  "token_type": "bearer"
}
Run Code Online (Sandbox Code Playgroud)

现在您可以使用请求刷新 access_token

curl -X POST -u "{client_id}:{secret}" https://bitbucket.org/site/oauth2/access_token -d grant_type=refresh_token -d refresh_token={refresh_token}