2017-02-21 3 views
0

私の問題は、私がオンラインで見たものから私が "認証[401]"という応答を得ているということです。私はPythonでRestの呼び出しを介して新しいユーザーを作成しようとしています。私はPython/Restにはかなり新しくなっていますので、私は何かが欠けていると確信しています。 =」 プリント(R)b'stringofstuffPython/Restの認証の問題

import requests 
import json 
import base64 

print("Script Running") 
username = ‘UN’ 
password = ‘PW’ 
tempString = username + ':' + password 
encodedString = base64.b64encode(tempString.encode()) 
data = {"name": "changeUser", "password": "12345","emailAddress": "[email protected]","displayName": "changeUser","notification" : "false"} 
url = "http://myserver.atlassian.net/rest/api/2/user/" 
headers = {'Authentication': 'Basic ' + tempString, 'Content-type': 'application/json', 'Accept': 'application/json', 'X-Atlassian-Token': 'no-check' } 

print(encodedString) 
r = requests.post(url, json.dumps(data), headers) 
print(r) 
print("Script Ending") 

encodedString戻る応答[401]

+0

認証情報が実際のサービスに対して有効であることを確認しましたか? – Andrew

+0

はい。インスタンスに対して認証資格情報を使用できるようになりました。私はスペルミスではないことを確認するためにすべてのスペルをダブルチェックしました – BlueBaroo

+0

curlを使用してクエリを混乱させ、レスポンスを確認することができます。 curl -D- -u UN:PW -X POST -H "Content-Type:application/json" https://myserver.atlassian.net/rest/api/2/user -d '{"name": "このメソッドを使用すると、「changeUser」、「password」:「12345」、「emailAddress」:「[email protected]」、「displayName」:「changeUser」、「notification」:「false」} ' – Jesse

答えて

0

要求を返し、このすべてのオプションを有する:

以下は私のコードです。私はちょうど使用するだろう

r = requests.post(url, json=data, auth=(username, password)) 
+0

401の代わりに[404]という応答が返されます。これはサイトが利用できない/応答していないことを意味しません。 – BlueBaroo

+0

問題がページと完全に無関係の場合、Jiraは404を返すことがあります。レスポンスにerrorMessagesフィールドはありますか? – Jesse

0

この呼び出しに別のHTTPクライアントを使用しましたか?郵便配達員を使用して、同じデータを使用して電話をかけて、最初に探し始める場所を判断できるようにしてください。

また、あなたはencodedStringを使って何をしていますか?あなたがそれを使用する唯一の時間は、印刷の呼び出しです。

+0

私はPostManを使用しましたが、それには何の不運もありませんでした。今のところ、encodedStringはtempStringだけがbase64に変更されています。呼び出しでencodedStringのtempStringを変更すると、エラーが発生します – BlueBaroo

+1

Postman経由でサーバーに電話をかけることができない場合は、コードを心配する前に認証方法のトラブルシューティングを開始する必要があります。 – hamiltoncw

+0

私はPostmanを使ってGET呼び出しをしましたが、POSTはしませんでした。郵便配達で使用したクレデンシャルは、コードで使用したものと同じです。クレデンシャルに問題はありません – BlueBaroo