1

API から情報を要求しようとしています。OAUTH トークンを渡す方法が間違っていると思います。

import requests
import json

URL = "https://api.direct.yandex.com/json/v5/keywords"
token = "/* Access Token */"

PARAMS = {
           'Authorization': "Bearer " + token,
           'Accept-Language': "en",
           'processingMode': "auto",
}
BODY = {
           'method': "CreateNewWordstatReport",
           'param': {
                "Phrases": ['pipeline'],
                "GeoID": [1,-219]
                }
           }

#jdata = json.dumps(PARAMS, ensure_ascii=False).encode ('utf8')

body = json.dumps(BODY, indent=4)
response = requests.post(URL, body, headers=PARAMS)
response.encoding = 'utf-8'

#response = requests.get(url = URL, params = PARAMS)

print(response.status_code)
print(response.url)
print(response.json())

コメント行は、中間の 3 行の代わりになる可能性があります。トークンを渡すために、ここで .post() と .get() を正しく使用するにはどうすればよいですか? 現在の応答が表示されます。

202

https://api.direct.yandex.com/json/v5/keywords

{'error': {'request_id': '1891/* いくつかの数字 */0199', 'error_code': 8000, 'error_detail': 'JSON/XML を処理できません', 'error_string': '無効なリクエスト' }}

助けてくれてありがとう!

4

1 に答える 1