私はapi経由でbitbucketに問題を投稿しようとしています。私が正しく理解すれば、OAuthではなく基本的な認証ルートに行くことができます。しかし、要求をするときにプリント(r.status_code)が実行されると、私は400コードを端末に戻しています。問題はjson(私が疑う)か認証のいずれかにあるようです。PythonリクエストでBitbucketに投稿する
私は、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を実装する方法がありますか?
ユーザ名、レポ、およびパスワードは、それに応じて記入されます。どんな助けでも大歓迎です。
EDIT
アウトAUTH =({ユーザー名}、{パスワード})取りにそれらと400エラーとは対照的に、401を得た。データに問題があるようだが、私はデータの書式設定に何が問題なのかよく分かりません。それ以上の助けをいただければ幸いです。
認証の問題は、あなたの入力データが期待https://http.cat/400に応じて無効である場合、あなたが得る401が、400になります... *データ*をチェックすると、何かが間違っているか欠落しています。 – rebeling
print r.textあなたに詳細を教えてもらえますか? – rebeling
ohaは、このテキストのInstagramに400を持っています:missing client_idまたはaccess_token URLパラメータ。 – rebeling