ebay api GeteBayDetails не запрашивает пароль и не выдает ошибку токена
Я пытаюсь отправить запрос GeteBayDetails в торговый api, чтобы найти поля допустимых значений в массовом вызове AddFixedPriceItem с помощью lms. Я выполняю запрос HTTP Post с помощью curl.
Поэтому я отправляю запрос по следующему URL-адресу
Заголовки, которые я использую, следующие:
X-EBAY-API-УРОВЕНЬ СОВМЕСТИМОСТИ: 800
X-EBAY-API-ИДЕНТИФИКАТОР САЙТА: 3
X-EBAY-API-ИМЯ РАЗРАБОТЧИКА: dev_key_here
X-EBAY-API-НАЗВАНИЕ ПРИЛОЖЕНИЯ: App_key_here
X-EBAY-API-СЕРТИФИКАТ-ИМЯ: Имя сертификата здесь
X-EBAY-API-ИМЯ ВЫЗОВА: GeteBayDetails
X-EBAY-API-УРОВЕНЬ ДЕТАЛИЗАЦИИ: 0
Тело запроса
<?xml version="1.0" encoding="utf-8"?>
<GeteBayDetailsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequestToken>My_Sandbox_user_token</RequestToken>
<RequestPassword>my_sandbox_user_password</RequestPassword>
<DetailName>ShippingServiceDetails</DetailName></GeteBayDetailsRequest>
И ответ, который я получаю, это
<?xml version="1.0" encoding="UTF-8"?>
<GeteBayDetailsResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2014-02-14T14:15:50.792Z</Timestamp>
<Ack>Failure</Ack>
<Errors><ShortMessage>No password and no token.</ShortMessage>
<LongMessage>No XML <RequestPassword> or <RequestToken> was found in XML Request.</LongMessage>
<ErrorCode>930</ErrorCode>
<SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification>
</Errors>
<Version>855</Version>
<Build>E855_INTL_API_16631620_R1</Build>
</GeteBayDetailsResponse>
Я не понимаю, почему он запрашивает пароль и токен запроса, я добавил их в тело после того, как ответ начал запрашивать их, но, похоже, просто игнорируйте их, документация api, похоже, не предполагает, что они ему нужны, и я не прошу у пользователя конкретных деталей. Кто-нибудь знает, что происходит? есть какие-нибудь предложения?
Спасибо
2 answers
Вы хотите вложить свой токен безопасной среды в теги eBayAuthToken в XML-теги requestercredentials. Вот так
<RequesterCredentials>
<eBayAuthToken> Your token here </eBayAuthToken>
</RequesterCredentials>
Это должно решить вашу проблему. Убедитесь, что вы удалили имеющиеся у вас теги авторизации, которые не работают
Я полагаю, что вы также можете опустить
<RequesterCredentials>
<eBayAuthToken> Your token here </eBayAuthToken>
</RequesterCredentials>
Из тела/содержания запроса и вместо этого поместите
"X-EBAY-API-IAF-TOKEN": "Y0uRAcCe$$T0k3n"
В заголовке запроса.