如何使用oAuth令牌创建bitbucket repos?

时间:2016-01-08 09:46:01

标签: git curl oauth bitbucket

我正在尝试使用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://confluence.atlassian.com/bitbucket/repository-resource-423626331.html#repositoryResource-POSTanewrepository

此处解释了标题: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,我可以创建一个新的存储库,这样命令的其余部分就可以了。

有人能给我一个暗示吗?

1 个答案:

答案 0 :(得分:3)

我想我明白了。当我从我收到的URL中复制令牌时,我省略了一个尾随的“%3D%3D”,它应该是令牌末尾的“==”。如果我附加'==',则接受令牌并创建存储库。

所以似乎返回了错误的错误消息。