2017-04-14 6 views
0

PythonでREST APIを使用してcherwellでRFCを作成しようとしています。私はSwegger UIで最初に試しました。私はそこで働いています。私はRFCをうまく作成することができます。その後、Curl RequestをPythonでリクエストモジュールを使って実行することで、401を試してみました。なぜ私は401を取得しているのか分かりました。それは、私が一時的なトークンであるBearerを使用しているためです。それは10分間だけ生きるでしょう。 10分後に私がリクエストすると、401が手に入ります。ベアラーは強制的なフィールドです。私はそれなしでは要求することができません。ベアラーの代わりにユーザー名とパスワードを渡そうとしましたが、うまくいかなかったのです。以下は私のリクエストです。Cherwell REST APIリクエストでトークン(ベアラ)をユーザー名、パスワードに置き換える方法

with open('C:\Cherwell\payload.json') as file: 
Data = json.load(file) 
payload = Data 
header = {"Authorization":"Bearer XXXXXXXX"} 
r = requests.post("https:/URL/CherwellAPI/api/V1/savebusinessobject? 
api_key=XXXX-XXXX-XXXX-XXXX", auth=('user','pass'), headers = header, 
data=json.dumps(payload)) 
print r 

これまで誰でもできることを助けてくれたら嬉しいです!助けてください

お手伝いをしてください!

+0

[セッション](http://docs.python-requests.org/ja/master/user/advanced/)モジュールのリクエストは、このようなヘッダーを使いこなすのに役立ちますhttp://stackoverflow.com/questions/39210484/flurry-login-requests-session-python-3/39301685#39301685 jsonをディスクに保存する必要はありません。典型的なパターンは、リクエストを試し、トークンが古くなったらエラーをキャッチし、新しいトークンを取得するよう要求してから、やり直してください。またはAlfのようなものを使って、あなたのためにそれを世話してください。https://github.com/globocom/alf#workflow – brennan

+0

あなたのコメントをありがとう。私はそれで回避策を見つけました。私は別の呼び出しを行い、トークンを要求します。そのトークンを使用して、RFCを作成するようにこの要求を行うことができます。 – Meet101

答えて

0

別のコールを使用してトークンを取得アクセストークンを取得し、これを使用して新しいチケットの作成をリクエストできます。これは私のために働いた。

関連する問題