我试图通过他们的api向bitbucket发布问题。如果我理解正确,我似乎可以使用基本身份验证路由而不是OAuth。但是,在发出请求时,当 print(r.status_code)运行时,我会在终端中获得400代码。问题似乎出现在json(我怀疑)或身份验证中。
我在django项目中运行它,我的代码如下:
views.py
if request.method == "POST":
getUser = request.user
form = IssueForm(request.POST)
if form.is_valid():
data = {"priority": "major", "title": "title", "kind": "bug", "content": "content"}
headers = {'Content-Type': 'application/json',}
r = requests.post('https://api.bitbucket.org/1.0/repositories/{my_username}/{my_repo}/issues/', headers=headers, json=data, auth=({username},{password}))
print(r.status_code)
return HttpResponseRedirect("/main/")
else:
form = IssueForm()
context = {
"form": form,
}
return render(request, "issue_form.html", context)
发布问题可能不允许进行基本身份验证,而OAuth是必要的吗?但是,我没有找到任何已经指明的文件。或者也许有办法在Django中通过python请求实现OAuth1?
相应填写用户名,回购和密码。任何帮助将不胜感激。
修改
取出auth =({username},{password})并获得401而不是400错误。他们似乎是数据有问题,但我不太清楚&# 39;数据格式错误。任何进一步的帮助表示赞赏。
答案 0 :(得分:0)
阅读总能帮到孩子们。我能够安装BitBucket-API
并在本文档的帮助下使用它来发布我的问题。
https://media.readthedocs.org/pdf/bitbucket-api/latest/bitbucket-api.pdf
代码最终看起来像:
bb = Bitbucket('username', 'password', repo_name_or_slug="REPOSLUG")
success, result = bb.issue.create(
title=u'title',
content=u'content',
responsible=bb.username,
status=u'new',
kind=u'kind')