POST запрос к API Яндекс Дистрибуции через Python (библиотека Requests)
Пытаюсь послать POST запрос по API Яндекс Дистрибуции через Python библиотеку Requests, но по какой то причине получаю ошибку, что я пытаюсь послать GET запрос.
import requests import pandas as pd ReportsURL = 'https://distribution.yandex.net/api/v2/statistics/basic/report?lang=en' headers = {'content-type': 'application/json', 'Accept-Charset': 'UTF-8', 'Authorization': 'OAuth %key%'} body = { "period": ["yesterday"], "dimensions": [ "soft_id", "vid", "pack_id", "currency_id" ], "measures": [ "setups", "searches", "partner_all", "partner_activations", "partner_setups", "partner_direct" ] } r3 = requests.post(ReportsURL, data=body, headers=headers) r3.text
И получаю вот такой ответ:
'{"result":"error","data":{"description":"Method \\"GET\\" not allowed.","message":"method_not_allowed"}}'
Может быть кто то сможет подсказать в чем проблема? Такое ощущение, что то очевидное упускаю.
- python
- api
- requests
- яндекс
К сожалению я не могу получить доступ к API Яндекс.Дистрибьюции, но из очевидного, на что следует обратить внимание, это то, что метод GET не подразумевает наличие тела запроса. Технически это возможно, но большинство библиотек и API его просто не примут. К тому же вы используете requests.post()
вместо предполагаемого requests.get()
. Убедитесь, что вы действительно должны послать GET запрос с телом. Дополнительную информацию пишите в комментарии
Ошибка была в том, что в конце урла не было не было слеша и он проделывал редирект
ReportsURL = 'https://distribution.yandex.net/api/v2/statistics/basic/report/?lang=en'
Должно быть вот так. Отследил с помощью библиотек http.client и logging. Если вдруг у вас похожая проблема, то добавьте
import logging import http. client as http_client
И после body
# These two lines enable debugging at httplib level (requests->urllib3->http.client) # You will see the REQUEST, including HEADERS and DATA, and RESPONSE with HEADERS but without DATA. # The only thing missing will be the response.body which is not logged. http_client.HTTPConnection.debuglevel = 1 # You must initialize logging, otherwise you'll not see debug output. logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True
Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через FacebookОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
YandexWordstatAPI · PyPI
Project description
Simple small class for parsing data from WordStat via yandex direct api
Installing YandexWordstatAPI
$ python -m pip install YandexWordstatAPI
Docs
from YandexWordstatAPI.WordstatAPI import *
import time
'''
Yandex sandbox url = https://api-sandbox.direct.yandex.ru/v4/json/
Yandex full access url = https://api.direct.yandex.ru/v4/json/
'''
url = 'https://api-sandbox.direct.yandex.ru/v4/json/' # api url
token = 'AgAAAAAX1GmLIIX9s4uEoSNiSEyjjxTsAHZ0p8w' # Token to access Yandex.Direct API
username = 'yandex.username' # Username to get points value
API = WordstatAPI(url, token, username)
phrases = [
'фотошоп',
'photoshop'
]
exclude = [
'-купить',
'-дешево',
'-скачать',
'-бесплатно'
]
geo = [] # Can be let empty
data = API.compose_data(phrases, exclude) # Compose data with exclude phrases
# Methods
units = API. get_client_units() # Get client units. ref: https://yandex.ru/dev/direct/doc/dg-v4/reference/GetClientsUnits.html
print(f"You have {units['data'][0]['UnitsRest']}")
report_id = API.create_report(data, geo)[
'data'] # Create new report, it will be redy in ~2 minutes. ref: https://yandex.ru/dev/direct/doc/dg-v4/reference/CreateNewWordstatReport.html
print(f"The report wit id {report_id} is creating")
report_list = API.get_report_list() # Get report list, you can wait til the report will be ready, or just check it later. ref: https://yandex.ru/dev/direct/doc/dg-v4/reference/GetWordstatReportList.html
last_report = report_list['data'][-1]
while lastReport['StatusReport'] != 'Done':
if lastReport['StatusReport'] == 'Failed':
raise Exception('Failed to create report')
else:
print('Report is creating...')
lastReport = API.get_report_list()['data'][-1]
time.sleep(2)
report = API.readReport(
report_id) # Read report data by its id. ref: https://yandex. ru/dev/direct/doc/dg-v4/reference/GetWordstatReport.html
API.save_report_to_txt(report, searched_also_flag=True) # Save all data to txt, can be undone if not necessary
response = API.delete_report(
report_id) # Delete Wordstat report, it can be done when you reach report number limit(5 reports)
if response['data'] == 1:
print(f'Report with id {report_id} was successfully deleted')
Project details
This version
1.1
0.0.1
Download files
Download the file for your platform. If you’re not sure which to choose, learn more about installing packages.
Source Distribution
YandexWordstatAPI-1.1.tar.gz (3.9 kB view hashes) Uploaded source
Built Distribution
YandexWordstatAPI-1.1-py3-none-any.whl (4.4 kB view hashes) Uploaded py3
Hashes for YandexWordstatAPI-1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaa08f3cf94f8ef295fb3c41ff28037d8134d8d6893b5a39e8893f0e3f6c3b68 | |
MD5 | acb965ce39001d63fecd79e2e0e9c7fe | |
f8234dd2ac06b40169e2b0d3526e5d6a9097c2c0d606106b9e66a778ee2f0c2e |
Hashes for YandexWordstatAPI-1.
1-py3-none-any.whlAlgorithm | Hash digest | |
---|---|---|
SHA256 | daa898d48e086fd00a6a177b3b895f41af3860b57caf71990333c6265e39b095 | |
MD5 | 5ec306c95b47e41c27493bbacee56667 | |
BLAKE2b-256 | adc91c25fb3145338eb76282a6ed4cecf7895ec17f004cb68da12d5af8e8759b |
ModuleNotFoundError: нет модуля с именем «yandex-weather-api»
Опубликовать Ответ
Предварительный просмотр:
Связанные руководства/вопросы и ответы:
ModuleNotFoundError: нет модуля с именем «yandex-weather-api»
ModuleNotFoundError: нет модуля с именем «yandex-weather-api» Привет! Мой. .. по имени ‘yandex-weather-api’ Как удалить ModuleNotFoundError: Нет модуля…, ModuleNotFoundError: Нет
ошибка модуля с именем yandex-weather-api будет решена
ModuleNotFoundError: нет модуля с именем «модуль»
ModuleNotFoundError: нет модуля с именем «модуль» Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «модуль» Как удалить ModuleNotFoundError: нет модуля с именем ‘module’
Рекламные объявления
ModuleNotFoundError: нет модуля с именем ‘named-bitfield’
ModuleNotFoundError: нет модуля с именем ‘named-bitfield’ Привет! Мое… с именем ‘named-bitfield’ Как удалить ModuleNotFoundError: нет модуля с именем… установка библиотеки Python с именованным битовым полем, ModuleNotFoundError: нет
модуль с именем
ModuleNotFoundError: нет модуля с именем ‘named_constants’
ModuleNotFoundError: нет модуля с именем ‘named_constants’ Привет! Мой. .. с именем ‘named_constants’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_constants, ModuleNotFoundError: Нет
модуль
ModuleNotFoundError: нет модуля с именем ‘named_dataframes’
ModuleNotFoundError: нет модуля с именем ‘named_dataframes’ Привет! Мой… с именем ‘named_dataframes’ Как удалить ModuleNotFoundError: Нет модуля…: Нет
ошибка модуля с именем «named_dataframes» будет устранена.
Спасибо
ModuleNotFoundError: нет модуля с именем «named-dates»
ModuleNotFoundError: нет модуля с названием «named-dates» Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «названные даты» Как удалить ModuleNotFoundError: нет модуля с именем ‘
ModuleNotFoundError: нет модуля с именем ‘named-bitfield’
ModuleNotFoundError: нет модуля с именем ‘named-bitfield’ Привет! Мое… с именем ‘named-bitfield’ Как удалить ModuleNotFoundError: нет модуля с именем. .. установка библиотеки Python с именованным битовым полем, ModuleNotFoundError: нет
модуль с именем
ModuleNotFoundError: нет модуля с именем «named-dates»
ModuleNotFoundError: нет модуля с названием «named-dates» Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «названные даты» Как удалить ModuleNotFoundError: нет модуля с именем ‘
ModuleNotFoundError: нет модуля с именем ‘named_redirect’
ModuleNotFoundError: нет модуля с именем ‘named_redirect’ Привет! Мой… с именем ‘named_redirect’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_redirect, ModuleNotFoundError: Нет
модуль с именем
ModuleNotFoundError: нет модуля с именем ‘named-bitfield’
ModuleNotFoundError: нет модуля с именем ‘named-bitfield’ Привет! Мое… с именем ‘named-bitfield’ Как удалить ModuleNotFoundError: нет модуля с именем… установка библиотеки Python с именованным битовым полем, ModuleNotFoundError: нет
модуль с именем
ModuleNotFoundError: нет модуля с именем ‘named_constants’
ModuleNotFoundError: нет модуля с именем ‘named_constants’ Привет! Мой. .. с именем ‘named_constants’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_constants, ModuleNotFoundError: Нет
модуль
ModuleNotFoundError: нет модуля с именем ‘named_dataframes’
ModuleNotFoundError: нет модуля с именем ‘named_dataframes’ Здравствуйте! Мой… с именем ‘named_dataframes’ Как удалить ModuleNotFoundError: Нет модуля…: Нет
ошибка модуля с именем «named_dataframes» будет устранена.
Спасибо
ModuleNotFoundError: нет модуля с именем ‘named_decorator’
ModuleNotFoundError: нет модуля с именем ‘named_decorator’ Здравствуйте! Мой… с именем ‘named_decorator’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_decorator, ModuleNotFoundError: Нет
модуль
ModuleNotFoundError: нет модуля с именем ‘named-enum’
ModuleNotFoundError: нет модуля с именем ‘named-enum’ Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «named-enum» Как удалить ModuleNotFoundError: нет модуля с именем ‘
ModuleNotFoundError: нет модуля с именем ‘named_constants’
ModuleNotFoundError: нет модуля с именем ‘named_constants’ Привет! Мой. .. с именем ‘named_constants’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_constants, ModuleNotFoundError: Нет
модуль
ModuleNotFoundError: нет модуля с именем ‘named_dataframes’
ModuleNotFoundError: нет модуля с именем ‘named_dataframes’ Здравствуйте! Мой… с именем ‘named_dataframes’ Как удалить ModuleNotFoundError: Нет модуля…: Нет
ошибка модуля с именем «named_dataframes» будет устранена.
Спасибо
ModuleNotFoundError: нет модуля с именем ‘named_decorator’
ModuleNotFoundError: нет модуля с именем ‘named_decorator’ Здравствуйте! Мой… с именем ‘named_decorator’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_decorator, ModuleNotFoundError: Нет
модуль
ModuleNotFoundError: нет модуля с именем ‘named-enum’
ModuleNotFoundError: нет модуля с именем ‘named-enum’ Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «named-enum» Как удалить ModuleNotFoundError: нет модуля с именем
ModuleNotFoundError: нет модуля с именем Burki_Module
ModuleNotFoundError: нет модуля с именем Burki_Module Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «Burki_Module» Как удалить ModuleNotFoundError: нет модуля с именем
ModuleNotFoundError: нет модуля с именем c-module
ModuleNotFoundError: нет модуля с именем c-module Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «c-module» Как удалить ModuleNotFoundError: нет модуля с именем c-module
ModuleNotFoundError: нет модуля с именем Dragon_Module
ModuleNotFoundError: нет модуля с именем Dragon_Module Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «Dragon_Module» Как удалить ModuleNotFoundError: нет модуля с именем
ModuleNotFoundError: нет модуля с именем Dragon_Module
ModuleNotFoundError: нет модуля с именем Dragon_Module Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «Dragon_Module» Как удалить ModuleNotFoundError: нет модуля с именем
ModuleNotFoundError: нет модуля с именем ‘huik-module’
ModuleNotFoundError: нет модуля с именем ‘huik-module’ Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «huik-module» Как удалить ModuleNotFoundError: нет модуля с именем
ModuleNotFoundError: нет модуля с именем «Mathematics-Module»
ModuleNotFoundError: нет модуля с именем «Mathematics-Module» Привет! Мой. .. под названием «Математический модуль» Как удалить ошибку ModuleNotFoundError: нет модуля с именем «Математический модуль»? Спасибо
Привет, В вашем
ModuleNotFoundError: нет модуля с именем «Mathematics-Module»
ModuleNotFoundError: нет модуля с именем «Mathematics-Module» Привет! Мой… под названием «Математический модуль» Как удалить ошибку ModuleNotFoundError: нет модуля с именем «Математический модуль»? Спасибо
Привет, В вашем
ModuleNotFoundError: модуль с именем mkflask_module отсутствует
ModuleNotFoundError: модуль с именем mkflask_module отсутствует Привет! Мой… с именем «mkflask_module» Как удалить ModuleNotFoundError: No module named… установка mkflask_module библиотеки Python, ModuleNotFoundError: Нет
модуль с именем
ModuleNotFoundError: нет модуля с именем «модуль-пакет»
ModuleNotFoundError: нет модуля с именем «модуль-пакет» Привет, Мой… с именем «модуль-пакет» Как удалить ModuleNotFoundError: No module named. .. установка библиотеки python для модуля-пакета, ModuleNotFoundError: No
модуль с именем
ModuleNotFoundError: нет модуля с именем «module-reloadable»
ModuleNotFoundError: нет модуля с именем «module-reloadable» Здравствуйте! Мой… с именем ‘module-reloadable’ Как удалить ошибку ModuleNotFoundError: нет модуля с именем «перезагружаемый модуль»? Спасибо
Привет, В вашем
ModuleNotFoundError: нет модуля с именем «module-resources»
ModuleNotFoundError: нет модуля с именем «module-resources» Привет! Мой… с именем «модуль-ресурсы» Как удалить ошибку ModuleNotFoundError: нет модуля с именем «модуль-ресурсы»? Спасибо
Привет, В вашем
ModuleNotFoundError: нет модуля с именем «module_salad»
ModuleNotFoundError: нет модуля с именем «module_salad» Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «module_salad» Как удалить ModuleNotFoundError: нет модуля с именем ‘
ModuleNotFoundError: нет модуля с именем ‘module-starter. leon’
ModuleNotFoundError: нет модуля с именем ‘module-starter.leon’ Привет! Мой… по имени ‘module-starter.leon’ Как удалить ошибку ModuleNotFoundError: нет модуля с именем «module-starter.leon»? Спасибо
привет
ModuleNotFoundError: нет модуля с именем «module_template»
ModuleNotFoundError: нет модуля с именем «module_template» Здравствуйте! Мой… с именем ‘module_template’ Как удалить ошибку ModuleNotFoundError: модуль с именем… с именем ‘module_template’ не будет устранен.
Спасибо
ModuleNotFoundError: нет модуля с именем «module-tracker»
ModuleNotFoundError: нет модуля с именем «module-tracker» Здравствуйте! Мой… по имени «модуль-трекер» Как удалить ModuleNotFoundError: No module named… установка библиотеки python для отслеживания модулей, ModuleNotFoundError: No
модуль с именем
ModuleNotFoundError: нет модуля с именем «module-graph»
ModuleNotFoundError: нет модуля с именем «module-graph» Здравствуйте! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «модуль-граф». Как удалить ModuleNotFoundError: нет модуля с именем ‘
ModuleNotFoundError: нет модуля с именем «module-launcher»
ModuleNotFoundError: нет модуля с именем «module-launcher» Привет! Моя… по имени «модуль-пусковая установка» Как удалить ModuleNotFoundError: ошибка модуля с именем… с именем ‘module-launcher’ не будет устранена.
Спасибо
ModuleNotFoundError: нет модуля с именем «module-loader»
ModuleNotFoundError: нет модуля с именем «module-loader» Здравствуйте! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «загрузчик модулей» Как удалить ModuleNotFoundError: нет модуля с именем
ModuleNotFoundError: нет модуля с именем «module-log»
ModuleNotFoundError: нет модуля с именем «module-log» Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «модуль-журнал» Как удалить ModuleNotFoundError: нет модуля с именем
ModuleNotFoundError: нет модуля с именем «имя_модуля»
ModuleNotFoundError: нет модуля с именем «имя_модуля» Здравствуйте! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «имя_модуля» Как удалить ModuleNotFoundError: нет модуля с именем «
ModuleNotFoundError: нет модуля с именем «модуль-пакет»
ModuleNotFoundError: нет модуля с именем «модуль-пакет» Привет! Мой. .. с именем «модуль-пакет» Как удалить ModuleNotFoundError: No module named… установка библиотеки python для модуля-пакета, ModuleNotFoundError: No
модуль с именем
ModuleNotFoundError: нет модуля с именем «module-reloadable»
ModuleNotFoundError: нет модуля с именем «module-reloadable» Здравствуйте! Мой… с именем ‘module-reloadable’ Как удалить ошибку ModuleNotFoundError: нет модуля с именем «перезагружаемый модуль»? Спасибо
Привет, В вашем
ModuleNotFoundError: нет модуля с именем «module-resources»
ModuleNotFoundError: нет модуля с именем «module-resources» Привет! Мой… с именем «модуль-ресурсы» Как удалить ошибку ModuleNotFoundError: нет модуля с именем «модуль-ресурсы»? Спасибо
Привет, В вашем
ModuleNotFoundError: нет модуля с именем «module_salad»
ModuleNotFoundError: нет модуля с именем «module_salad» Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «module_salad» Как удалить ModuleNotFoundError: нет модуля с именем ‘
ModuleNotFoundError: нет модуля с именем ‘module-starter. leon’
ModuleNotFoundError: нет модуля с именем ‘module-starter.leon’ Привет! Мой… по имени ‘module-starter.leon’ Как удалить ошибку ModuleNotFoundError: нет модуля с именем «module-starter.leon»? Спасибо
привет
ModuleNotFoundError: нет модуля с именем «module_template»
ModuleNotFoundError: нет модуля с именем «module_template» Здравствуйте! Мой… с именем ‘module_template’ Как удалить ошибку ModuleNotFoundError: модуль с именем… с именем ‘module_template’ не будет устранен.
Спасибо
ModuleNotFoundError: нет модуля с именем «module-tracker»
ModuleNotFoundError: нет модуля с именем «module-tracker» Здравствуйте! Мой… по имени «модуль-трекер» Как удалить ModuleNotFoundError: No module named… установка библиотеки python для отслеживания модулей, ModuleNotFoundError: No
модуль с именем
ModuleNotFoundError: нет модуля с именем «модуль-оболочка»
ModuleNotFoundError: нет модуля с именем «модуль-оболочка» Здравствуйте! Мой.