2017-08-16 5 views

答えて

0

、あなたは、PythonでトークンにHTTP GETリクエストを使用してトークンを取得する必要があります。

one.py:

def generateToken(username, password): 

r = requests.get("https://gateway.watsonplatform.net/authorization/api/v1/token?url=https://gateway.watsonplatform.net/personality-insights/api", auth=(username, password)) 
     if r.status_code == requests.codes.ok: 
      return r.text 

def personalityRequest(text, token): 
    base_url='https://gateway.watsonplatform.net/etc/etc....' 
    headers = {'X-Watson-Authorization-Token': token, 'Content-Type': 'yourContextType'} 
    r = requests.post(base_url, headers=headers, data={'body': text}) 
    return r.text 

two.py:

token = one.generateToken() 
ret = one.personalityRequest("your Text analyze...", token) 
    print(ret) 

OBS:「トークンは、使用しなくなったことができた1時間後の生存時間(TTL)を、持っていますトークンとすでに確立されている既存の接続はタイムアウトの影響を受けません。期限切れのトークンまたは無効なトークンを渡そうとすると、DataPowerのHTTP 401 Unauthorizedステータスコードが返されます。この戻りコードに応答してトークンを返します。

は、IBMワトソンhereとトークンについての公式ドキュメントを参照してください。

はSDK here内の認証を使用することについて公式referenceを参照してください。

+0

こんにちは - ありがとうございます。これはうまくいった。これは私が同じ(ユーザー名、パスワード)またはトークンで80回ループの中ワトソン要求をトリガしたい例えばループしているときでも事があります。それは私にSSLエラーを与える。 – Charan

+0

これのために他の質問を開く必要があります。 –

+0

質問は既に追加されています。 PFB https://stackoverflow.com/questions/45606896/watson-personality-insights-token?rq=1 – Charan

関連する問題