Авторизация oAuth2 в Яндекс Маркете

Есть google app script, который обращается к сервису Yandex Market и загружает каталог товаров.

  1. Создала аккаунт на yandex.ru
  2. Зарегистрировалась в магазине Yandex.Market и завела пару товаров
  3. Зарегистрировала oAuth-приложение, получила его ID=820ca53b10f24058b2534cf6e1f28a5f
  4. Создала отладочный токен через сервис <https://oauth.yandex.ru/authorize?response_type=token&client_id=820ca53b10f24058b2534cf6e1f28a5f
  5. Получаю ответы. Все отлично

Стала передавать скрипт клиенту для его магазина.

  1. Попросила его тоже дать доступ к приложению ID=820ca53b10f24058b2534cf6e1f28a5f
  2. Подставила его токен и его campaignId магазина
  var options = {'method' : method , //'get',
                  'contentType': 'application/json'}
  options.headers = {'Authorization': 'OAuth oauth_token="' + oauth_token +'", oauth_client_id="' + oauth_client_id+ '"'}  ;

  var params = {};
  setParam(params, 'page_token', pageToken );

  if (setParamsFunc)    
    setParamsFunc (params, ...args)

  var urlWB = buildUrl(url.format(campaignId), params);

  var request = UrlFetchApp.fetch(urlWB, options); 
  1. Получаю ошибку:
Exception: Request failed for https://api.partner.market.yandex.ru returned code 403. 
Truncated server response: 
{"error":{"code":403,"message":"Access denied"},"errors":
[{"code":"FORBIDDEN","message":"Access denied"}],"status":"ERROR"} 
(use muteHttpExceptions option to examine full response)

Что не так? Как получить моему приложению доступ к чужому кабинету YandexMarket?

Спасибо за помощь!


Ответы (1 шт):

Автор решения: Lena

В данном случае помогла поддержка Яндекс.

  1. Необходимо было создать новый аккаунт на Яндекс
  2. Добавить его в сотрудники магазина, добавить расширенные права (менеджер+финансы)
  3. Создать под этим юзером новое приложение на https://oauth.yandex.ru/
  4. Получить новый токен

После этого, все заработало

→ Ссылка