Делать простой авторизованный запрос на eBay - PullRequest
2 голосов
/ 23 февраля 2020

Я планирую интегрировать сайт с eBay, используя PHP, но сначала я использую Postman для проверки всего.

Авторизация заняла у меня целый день, но я думаю, что получил работаю сейчас. (Мне пришлось обновить до последней версии Почтальона, затем я получил его, чтобы создать для меня токен.)

Я говорю, что думаю , потому что мне не удалось получить ни одного просьба работать. Я сознательно выбрал объемную версию GetInventoryItem ( документация ), так как мне показалось, что это один из самых простых авторизованных запросов для работы. Я просто знаю, что когда настройки аутентификации неверны, я получаю сообщение об ошибке, отличное от того, когда они верны.

По причинам устранения неполадок я создал токен со всеми областями действия:

(добавлен как разделенный пробелами список ссылок)

Я изменил один из списков eBay, чтобы иметь SKU "123456" только для этого теста, однако ошибка, которую я получаю, точно такая же, как если бы я изменил "sku": "123456" на "sku": "anObviouslyFakeSKU", но все, что я изменяю, создает новую ошибку, поэтому я подозреваю, что проблема быть связанным с SKU, но, возможно, это не так. (Я обнаружил, что eBay API очень плох в отправке соответствующих сообщений об ошибках.)

Я новичок в Почтальоне, так что, скорее всего, это ошибка ладьи ie.

Ранее ошибки оказались незначительными пунктуациями или помечены неправильные переключатели, поэтому, надеюсь, что бы ни произошла ошибка на этот раз, она должна появиться на этом скриншоте.

Что я сделал не так это время? (Дайте мне знать, если есть какие-либо другие скриншоты, которые я могу отправить, которые могут помочь.)

screenshot

Чтобы помочь, как с SEO поста, так и с легкостью копии / вставки, я транскрибирую важный текст на скриншоте выше:

url

POST https://api.ebay.com/sell/inventory/v1/bulk_get_inventory_item

body, raw

{
  "requests": [
    {
      "sku": "123456"
    }
  ]
}

output

{
    "errors": [
        {
            "errorId": 2003,
            "domain": "ACCESS",
            "category": "APPLICATION",
            "message": "Internal error",
            "longMessage": "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance",
            "parameters": [
                {
                    "name": "reason",
                    "value": "Failed to transform underlying error response, see logs."
                }
            ]
        }
    ]
}

Обновление: Еще один скриншот enter image description here

Обновление 2: Еще один скриншот enter image description here

Ответы [ 2 ]

2 голосов
/ 24 февраля 2020

Несколько вещей, которые нужно проверить в Почтальоне.

  1. Когда вы аутентифицируетесь и получаете токен, вы публикуете этот токен с вашими вызовами API, как этот POST https://api.ebay.com/sell/inventory/v1/bulk_get_inventory_item?

  2. Вы установили HTTP-заголовок авторизации для авторизации аутентификации?

  3. Вы установили заголовок Content-Type для вызова application/json?

Подробнее здесь: https://developer.ebay.com/api-docs/sell/inventory/resources/inventory_item/methods/bulkGetInventoryItem

Обновление

Авторизация с переменной окружения в Почтальоне:

Authorization with environment variable

Документация по переменным среды почтальона: https://learning.postman.com/docs/postman/variables-and-environments/variables/

1 голос
/ 25 февраля 2020

Я разобрался в проблеме. Моей самой большой ошибкой было выбрать bulkGetInventoryItem как самый простой вызов. Я должен был выбрать getInventoryItem, так как отчеты об ошибках в этой функции намного удобнее для пользователя.

Итак, ошибка, которую я получил, для точно такого же запроса была: «Мы не нашли запрашиваемую вами сущность» Пожалуйста, подтвердите запрос "

Быстрый гугл об ошибке нашел мне эту страницу https://forums.developer.ebay.com/questions/17883/cannot-get-my-listed-product-by-get-inventory-api.html, которая привела меня к правильному ответу!

Инвентарь, которым я был попытка доступа была недоступна, потому что она не была создана через API разработчика.

Надеюсь, этот ответ поможет другим, поскольку потратил целый день своей жизни, пытаясь getInventoryItem, прежде чем заняться bulkGetInventoryItem.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...