2016-11-28 16 views
1

私は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を得た。データに問題があるようだが、私はデータの書式設定に何が問題なのかよく分かりません。それ以上の助けをいただければ幸いです。

+0

認証の問題は、あなたの入力データが期待https://http.cat/400に応じて無効である場合、あなたが得る401が、400になります... *データ*をチェックすると、何かが間違っているか欠落しています。 – rebeling

+0

print r.textあなたに詳細を教えてもらえますか? – rebeling

+0

ohaは、このテキストのInstagramに400を持っています:missing client_idまたはaccess_token URLパラメータ。 – rebeling

答えて

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')

+0

これは、別のライブラリの問題を解決しますが、 'requests'モジュールの問題を投稿するための解決策を提供しません。 – gruentee

関連する問題