我正在尝试使用curl和我从bitbucket收到的oAuth令牌创建一堆bitbucket存储库。我对创建存储库的呼吁如下所示:
curl -X POST -v -H "Authorization: Bearer 9gcHrIKxN(...)efRXD0-_9T-2qgGNtw" -H "Content-Type: application/json" \
https://api.bitbucket.org/2.0/repositories/FooBarQWD/test_create \
-d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks" }'
此处解释了标题:https://developer.atlassian.com/bitbucket/concepts/oauth2.html
我可以联系服务器,但得到回复
{"error": {"message": "Access token expired. Use your refresh token to obtain a new access token."}}
这听起来像是一个明智的错误消息,但如果我传递了错误的令牌字符串,我会得到相同的消息。
如果我删除令牌的Header条目并将其替换为-u user:password
,我可以创建一个新的存储库,这样命令的其余部分就可以了。
有人能给我一个暗示吗?
答案 0 :(得分:3)
我想我明白了。当我从我收到的URL中复制令牌时,我省略了一个尾随的“%3D%3D”,它应该是令牌末尾的“==”。如果我附加'==',则接受令牌并创建存储库。
所以似乎返回了错误的错误消息。