Pythonのリクエストを使用してSynchroteam APIの基本的な実装を進めようとしています。私はコンセプトの証明としてのcURLを使用して接続を確立し、私が望んでいたすべてのデータを取得することができたが、私は私の資格情報を使用してサイトに入ることができています要求を使用して、私が得るすべては次のとおりです。Pythonリクエストを使用しているのにCURLを使用していないのに500エラーが発生するのはなぜですか?
500
text/html; charset=utf-8
https://apis.synchroteam.com/Api/v1/user/list
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Error</title>
</head>
<body>
<h2>
An error occurred while processing your request.
</h2>
</body>
</html>
Process finished with exit code 0
このラインすべてとカールを使用している場合は、正しい情報を返します。Pythonコードの
curl -u domain:APIKEY -H "Accept: application/json" -H "Content-Type: application/json" https://apis.synchroteam.com/Api/v1/user/List
私の小さなビットはこれです:
import requests
apiurl = 'https://apis.synchroteam.com/Api/v1/user/list'
login = ("domain", "APIKEY")
headers = {'Content-Type': 'application/json'}
def run():
r = requests.get(apiurl, auth=login, headers=headers)
print r.status_code
print r.headers['Content-type']
print r.url
print r.text
run()
Synchroteamドキュメントのすべては、PHの例を持っていますP、しかし、なぜ私はPythonを使用することができないだろう何らかの理由を見ることができません。 ドキュメントは次のとおりです:http://api.synchroteam.com/rest.php
洞察力はすばらしいと思います。 ありがとうございます。
「Accept:」ヘッダーも設定してみましたか? – ig0774
私はしていません。私はそれを受け入れるように設定する必要があります任意のアイデア?私は現在何が掛かっているのか分かりません。申し訳ありませんが、基本的な質問は、私の最初の任意のHTTPまたは外部のAPIを使用して –
更新:私はこれを試していなかった。今はこれがカールラインに似ていることが分かります。どうもありがとうございます、これは何時間も気になりました。 –