2016-10-13 4 views
2

私は、Googleのクラウド自然言語APIから結果を得るために純粋なhttpリクエストを使用したいが、そのドキュメントではパラメータ名を指定していません。ここでGoogleの雲自然言語APIのパラメータ

は私のpythonのコードです: {u'error': {u'status': u'INVALID_ARGUMENT', u'message': u'Invalid JSON payload received. Unknown name "document": Cannot bind query parameter. \'document\' is a message type. Parameters can only be bound to primitive types.', u'code': 400, u'details': [{u'fieldViolations': [{u'description': u'Invalid JSON payload received. Unknown name "document": Cannot bind query parameter. \'document\' is a message type. Parameters can only be bound to primitive types.'}], u'@type': u'type.googleapis.com/google.rpc.BadRequest'}]}}

どのように私は自分のPythonライブラリを使用せずにHTTPリクエストを作成する必要があります。ここでは

import requests 
url = "https://language.googleapis.com/v1beta1/documents:analyzeEntities" 
d = {"document": {"content": "some text here", "type": "PLAIN_TEXT"}} 
para = {"key": "my api key"} 
r = requests.post(url, params=para, data=d) 

はエラーメッセージのですか?

答えて

3

わかりました。 JSONエンコードされたPOST/PATCHデータを渡す必要があるため、リクエストはr = requests.post(url, params=para, json=d)

関連する問題