You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Bitbucket Cloud API获取仓库详情提示access token过期如何解决

问题根因

你返回Access token expired错误的核心原因是凭证类型和认证方式不匹配,你尝试传入的三类凭证都不符合Bitbucket Cloud Bearer认证的要求,接口无法识别为有效访问令牌,因此统一返回类过期错误:

  • 直接使用OAuth2密钥对的Key/Secret作为Bearer Token:OAuth2的Client ID、Client Secret是用于兑换短期访问令牌的凭证,本身不具备访问接口的权限,不能直接填入Bearer字段
  • 使用App Password作为Bearer Token:App Password对应的认证方式是Basic认证,而非Bearer认证,格式不匹配无法通过鉴权
  • 使用SSH密钥作为Bearer Token:SSH密钥仅用于Git操作的SSH协议鉴权,完全不支持HTTP接口的Authorization头校验
可行调用方案

方案1:使用App Password调用(配置成本最低)

App Password需要配合Basic认证使用,操作步骤如下:

  1. 拼接鉴权字符串:格式为你的Bitbucket账号:你生成的App Password
  2. 对上述字符串做Base64编码
  3. 替换请求头中的Authorization字段为Basic <编码后内容>
    完整请求示例:
curl --request GET \
  --url 'https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug}' \
  --header 'Authorization: Basic <Base64编码后的账号&App密码字符串>' \
  --header 'Accept: application/json'

方案2:使用OAuth2 Bearer Token调用

如果你需要用Bearer认证方式,需要先兑换合法的短期访问令牌:

  1. 用你已有的OAuth2 Client ID、Client Secret调用Bitbucket OAuth2令牌接口,获取有效期2小时的access_token
  2. 将返回的access_token值填入请求头的Bearer <access_token>字段即可正常调用接口

内容的提问来源于stack exchange,提问作者Zag Gol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:24:04