POST запрос к API Яндекс Дистрибуции через Python (библиотека Requests)
Вопрос задан
Изменён 4 месяца назад
Просмотрен 66 раз
Пытаюсь послать 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
- яндекс
1
К сожалению я не могу получить доступ к API Яндекс.Дистрибьюции, но из очевидного, на что следует обратить внимание, это то, что метод GET не подразумевает наличие тела запроса. Технически это возможно, но большинство библиотек и API его просто не примут. К тому же вы используете requests.post()
вместо предполагаемого requests.get()
. Убедитесь, что вы действительно должны послать GET запрос с телом. Дополнительную информацию пишите в комментарии
3
Ошибка была в том, что в конце урла не было не было слеша и он проделывал редирект
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
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
python — Не получается удалить папку через API Яндекс
Вопрос задан
Изменён 4 месяца назад
Просмотрен 33 раза
Пытаюсь протестировать простой скрипт для создания папки на яндекс диске.
import requests class YaUploader: def __init__(self, token: str): self.token = token def get_headers(self): return { "Content-Type": "application/json", "Authorization": f"OAuth {self.token}" } def creating_a_folder(self, file_path: str): url = "https://cloud-api.yandex.net/v1/disk/resources" headers = self.get_headers() params = {"path": file_path} response = requests.put(url, params=params, headers=headers) print(response.json()) return response.status_code
При написании unit тестов захотел прописать в SetUp запрос на удаление этой папки но на диске она не удаляется и тест падает с ошибкой по ответу (409). Отдельно функция удаления работает исправно.
import unittest import requests from ya_disk_api import YaUploader class TestApi(unittest.TestCase): @classmethod def SetUp(self): token = "" url = "https://cloud-api.yandex.net/v1/disk/resources" headers = { "Content-Type": "application/json", "Authorization": f"OAuth {token}" } params = {"path": "/test3", "force_async": False, "permanently": False} response = requests. delete(url, headers=headers, params=params) def test_creating_a_folder(self): d = YaUploader("") self.assertEqual(d.creating_a_folder("/test3"), 201)
- python
- api
- requests
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Индекс API и функций ryandexdirect
Домашняя страница
/
КРАН
/
ryandexdirect: загрузить данные из «Яндекс Директ»
/
API
Общие функции | |
---|---|
. onAttach | Исходный код |
.под нагрузкой | Исходный код |
диапазоны дат | Исходный код |
print.yadir_token | Исходный код |
Райандексдирект | Справочная страница |
ryandexdirect-устаревший | Справочная страница |
пакет ryandexdirect | Справочная страница |
ryandexdirectWelcomeMessage | Исходный код |
техническая_аутентификация | Исходный код |
yadirAuth | Справочная страница Исходный код |
yadirCurrencyRates | справочная страница Исходный код |
yadirGetAdGroups | Справочная страница Исходный код |
yadirGetAds | Справочная страница Исходный код |
yadirGetBalance | Справочная страница Исходный код |
yadirGetCampaign | Справочная страница |
yadirGetCampaignList | Справочная страница |
yadirGetClientList | Справочная страница Исходный код |
yadirGetClientParam | Справочная страница Исходный код |
yadirGetCostData | Справочная страница Исходный код |
yadirGetDictionary | Справочная страница Исходный код |
yadirGetForecast | Справочная страница Исходный код |
yadirGetKeyWords | справочная страница Исходный код |
yadirGetKeyWordsBids | Справочная страница Исходный код |
yadirGetLogins | Справочная страница Исходный код |
yadirGetReport | Справочная страница Исходный код |
yadirGetReportFun | Исходный код |
yadirGetSiteLinks | Справочная страница Исходный код |
yadirGetToken | Справочная страница Исходный код |
yadirGetWordStatReport | справочная страница Исходный код |
yadirSetAgencyAccount | Справочная страница Исходный код |
yadirSetAutoKeyWordsBids | Справочная страница Исходный код |
yadirSetKeyWordsBids | Справочная страница Исходный код |
yadirSetLogin | Справочная страница Исходный код |
yadirStartAds | справочная страница Исходный код |
yadirStartCampaigns | Справочная страница Исходный код |
yadirStartKeyWords | Справочная страница Исходный код |
yadirStopAds | Справочная страница Исходный код |
yadirStopCampaigns | Справочная страница Исходный код |
yadirStopKeyWords | справочная страница Исходный код |
yadirToList | Исходный код |
yadirTokenPath | Исходный код |
документация ryandexdirect, созданная 1 июля 2020 г. , 22:39.
Glimpse — лучшие альтернативы Google Trends в 2022 году
Google Trends — это здорово, но часто этого недостаточно. Вот 8 бесплатных альтернатив Google Trends, которые мы используем ежедневно. При составлении этого списка альтернатив Google Trends мы учитывали все, от точности данных и охвата до удобства использования и цены. Мы также учли отзывы пользователей и включили инструменты, признанные лучшими альтернативами Google Trends, включая Google Ngram, Semrush, Pinterest Trends, SimilarWeb и другие.
Google Trends SuperchargedМы создали расширение для Chrome, которое добавляет важные недостающие функции в Google Trends. Его используют все: от ведущих изданий, таких как New York Times и Washington Post, до маркетологов ведущих брендов, таких как HubSpot и IKEA, и аналитиков тенденций в ведущих консультантах по стратегии, таких как McKinsey. И вот почему:
- См. абсолютный объем поиска , а не только 0-100.
- Смотрите траектории тенденций : узнайте, действительно ли тема в тренде или это просто причуда.
- Настройка оповещений Google Trends : получать оповещения, когда популярность тем в вашем списке наблюдения растет (или снижается).
- Откройте для себя самые популярные темы.
- Просматривайте полный набор ключевых слов с длинным хвостом для любой темы при исследовании ключевых слов и сортируйте их по объему, росту, цене за клик и конкуренции.
- Экспорт Google Trends в Google Sheets
- Проверка сезонности любой темы.
Расширение направлено на решение всех основных жалоб на Google Trends, поэтому, если вы ищете лучшую альтернативу Google Trends, сначала проверьте это.
Тренды PinterestЧто такое Тренды Pinterest?
- Тренды Pinterest показывают поисковые запросы по любому ключевому слову в Pinterest с течением времени.
Профи
- Видимость в другой канал , в том же стиле, что и Google Trends. Некоторые темы более популярны на определенных каналах. Тенденции также иногда начинают развиваться на одном канале, прежде чем они появятся на других.
Минусы
- Он ограничен последними 12 месяцами , что затрудняет расшифровку сезонных движений и реальных всплесков интереса. Например, интерес к кето-диете резко возрастает каждый январь, поскольку потребители стремятся принять новогодние решения, ориентированные на здоровье, но если вы можете увидеть только последние 12 месяцев, вы не узнаете об этом естественном поведении, которое происходит каждый год.
- Набор ключевых слов, которые вы можете найти, довольно ограничен , в отличие от Google Trends, который позволяет вам искать любое ключевое слово с достаточным объемом. Это также ограничивает видимость только США, Великобритании и Канады.
Что такое Google Ngram?
- Google Ngram показывает популярность любого ключевого слова в книгах за последние 200 с лишним лет. Это похоже на Google Trends, но вместо поиска он смотрит на книги. Подробнее о Google Ngram здесь.
Pros
- В 12 раз больше исторических данных, чем в Google Trends, вплоть до 1800 . Google Ngram — единственный инструмент для анализа тенденций, который показывает исторические данные, существовавшие до появления Интернета.
Минусы
- Не в реальном времени; Задержка от нескольких месяцев до года. Поскольку Google Ngram просматривает текст в книгах, а книги не публикуются мгновенно, между тем, что что-то происходит в реальном мире, кто-то пишет об этом книгу, и ее публикацией, часто проходит значительная задержка.
Что такое SimilarWeb?
- Расширение SimilarWeb для Chrome показывает трафик любого сайта с течением времени.
Профи
- Показывает данные о трафике для каждого сайта , который посещают более ~10 000 раз в месяц.
- Помимо трафика сайта с течением времени, SimilarWeb также разбивает трафик по каналам: электронная почта и реклама, поиск и социальные сети, а также по географии, возрасту и полу.
Минусы
- Точность: Их алгоритмы оценки трафика основаны на выборке — отслеживании миллионов пользователей и экстраполяции. В результате, SimilarWeb точен по направлению , но часто не очень точен с точки зрения абсолютных чисел объема . Обычно это 2-5 раз в любом направлении. Для нашего сайта это примерно в 4 раза. Обратите внимание, что степень неточности SimilarWeb, как правило, одинакова для всей отрасли. Это связано с тем, что их выборка смещена в сторону потребителей, которые используют расширения браузера, приложения и т. д., а это означает, что, например, сайты, ориентированные на технологии, такие как TechCrunch, будут иметь более высокие оценки трафика SimilarWeb, чем на самом деле.
- Ограниченное окно данных: К сожалению, бесплатное расширение SimilarWeb ограничено данными за последние 6 месяцев.
Что такое Glimpse — самые популярные темы?
- Google Trends отлично подходит для поиска тенденций, о которых вы уже знаете, но не так хорош для поиска новых тенденций, о которых вы не знаете. Мы в Glimpse поддерживаем базу данных, содержащую тысячи основных тенденций, от главных тенденций бизнеса и развлечений до последних тенденций в области продуктов питания и напитков.
Pros
- Тысячи трендов во всех основных категориях.
Минусы
- Не все тенденции есть в базе данных. Чтобы увидеть каждую тенденцию в любой конкретной нише, используйте раздел Discover в Google Trends Supercharged. Там вы можете искать тенденции в любой категории, независимо от того, насколько она нишева или широка, пытаетесь ли вы найти тенденции, связанные с такой широкой темой, как еда, или с такой нишей, как тема, такая как кетчуп.
Что такое Semrush?
- Semrush — это инструмент, который может показать вам органический поисковый трафик любого веб-сайта с течением времени, а также может показать некоторые варианты длинного хвоста для заданного ключевого слова.
Плюсы
- Показывает органический поисковый трафик любого веб-сайта , независимо от того, насколько он мал или велик.
- Имеет исторические данные за 10 лет, начиная с 2012 года.
Минусы
- Данные не в реальном времени, как Google Trends .
- Semrush не может отобразить полный список длинных хвостов, связанных с данным запросом . Чтобы найти полный список, выполните поиск с помощью расширения Google Trends Supercharged, а затем прокрутите вниз до раздела «Люди, которые также искали».
Что такое Яндекс Вордстат?
- Яндекс Wordstat почти идентичен Google Trends, но для поиска в Яндексе, 5-й по величине поисковой системе в мире, которая больше всего доминирует в России.
Pros
- Он показывает точные цифры объема поиска , в отличие от Google Trends, который обычно показывает только нормализованные объемы, если у вас не установлено расширение Google Trends Supercharged
Cons
- Поисковая система Яндекса в основном используется Россия , поэтому данные не являются репрезентативными для глобальной активности.
- Разреженные данные Несмотря на то, что Яндекс является 5-й по величине поисковой системой в мире, он используется примерно в 550 раз реже, чем Google, поэтому данные, особенно по длинным ключевым словам, часто бывают скудными.
Что такое инструмент подсказки ключевых слов?
- Инструмент подсказки ключевых слов собирает самые популярные поисковые запросы и их объемы запросов со многих популярных каналов, включая Google, YouTube, Amazon, Instagram, Twitter, Pinterest, eBay и App Store.