我正在使用OkHttp向Bitbucket API发出POST请求以创建新问题。他们的documentation表示私有仓库或私人问题跟踪器需要身份验证才能使用此API创建新问题。我的回购和我的问题跟踪器都是公开的,所以不应该有任何问题。但是当我打电话来创建一个新问题时,我得到了401未经授权的响应。这是我用来拨打电话的代码:
FormEncodingBuilder builder = new FormEncodingBuilder();
String t = "{" +
"\"status\": \"new\"," +
"\"priority\": \"trivial\"," +
"\"title\": \"This is a title\"," +
"\"content\": \"This is the content\"," +
"\"is_spam\": false\n" +
"}";
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), t);
String url = "https://bitbucket.org/api/1.0/repositories/userName/repoName/issues"
Request request = new Request.Builder().url(url)
.post(requestBody)
.build();
Response response = new OkHttpClient().newCall(request).execute();
问题: 谁能告诉我为什么我会收到未经授权的回复?
更新
Per Jim Redmond我已经改变了我的认证要求。我正在向https://bitbucket.org/site/oauth2/authorize?client_id=myConsumerKey&response_type=token发布一个帖子,我得到200回复,但是我没有在标题中看到一个令牌...我知道为什么我没有得到令牌作为回应?
答案 0 :(得分:0)
正如文档所述,此方法需要身份验证。如果您的回购或问题跟踪器是公开的,那么无关紧要;还需要一个" reported_by"用户。