首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Bitbucket API -使用access_token

Bitbucket API -使用access_token
EN

Stack Overflow用户
提问于 2021-11-21 15:11:55
回答 1查看 2.4K关注 0票数 0

我正在尝试获取回购细节,我们的comany bitbucket云。使用API:

代码语言:javascript
运行
复制
curl --request GET \
   --url 'https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug}' \
   --header 'Authorization: Bearer <access_token>' \
   --header 'Accept: application/json'

来自https://developer.atlassian.com/cloud/bitbucket/rest/api-group-repositories/#api-repositories-workspace-repo-slug-get

问题是,我使用的每个密钥/令牌,都会得到一个错误响应

代码语言:javascript
运行
复制
{"type": "error", "error": {"message": "Access token expired."}}

我创建了一个OAuth 2.0密钥和秘密,并对两者进行了尝试。

代码语言:javascript
运行
复制
--header 'Authorization: Bearer <KEY>'
--header 'Authorization: Bearer <SECRET>'

我还尝试了应用程序密码:

代码语言:javascript
运行
复制
--header 'Authorization: Bearer <APP PASSWORD>'

还使用SSH键:

代码语言:javascript
运行
复制
--header 'Authorization: Bearer <SSH KEY>'

但我也犯了同样的错误。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-01-06 00:21:48

我建议您完全省略“授权:承载”头,而使用app_password。事实上,亚特兰西安建议使用应用程序密码,允许您完全绕过对access_token的需求。

请参阅“身份验证方法文档”页面的App密码部分。

这就是它的工作原理。(请注意,这些示例中没有“授权:承载”标头。)如果您的工作区是公司名称,您的用户名是prospero,并且您根据亚特兰蒂斯文档创建的应用密码是,那么您可以以这种方式检索存储库列表。

卷曲:

代码语言:javascript
运行
复制
curl -u prospero:a1b2c3d4e5f6g7h8 https://api.bitbucket.org/2.0/repositories/companyname

Python:

代码语言:javascript
运行
复制
import requests
import json

r = requests.get('https://api.bitbucket.org/2.0/repositories/companyname', auth=('prospero', 'a1b2c3d4e5f6g7h8'))
print(r.text)
print(json.dumps(r.json(), indent=4))

当然,您需要使用更复杂的代码。这些只是简单的例子。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70055782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档