eBay OAuth не может получить токен - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь интегрировать eBay SDK , разработанный Дэвидом Садлером, который находится в GitHub.Но я застрял на самой части соединения.Я получаю токен приложения с http://localhost/ebay-sdk-examples/oauth-tokens/01-get-app-token.php с моими производственными учетными данными.

Но когда я нажимаю, http://localhost/ebay-sdk-examples/oauth-tokens/02-get-user-token.php, я получаю эту ошибку:

      [error] => invalid_grant
      [error_description] => the provided authorization grant code is invalid or was issued to another client

всеКоды доступны в ссылке SDK.Если вам нужен вот фрагмент кода

    <?php
    /**
     * Copyright 2017 David T. Sadler
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     * http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */

    /**
     * Include the SDK by using the autoloader from Composer.
     */
    require __DIR__ . '/../vendor/autoload.php';

    /**
     * Include the configuration values.
     *
     * Ensure that you have edited the configuration.php file
     * to include your application keys.
     */
    $config = require __DIR__ . '/../configuration.php';

    /**
     * The namespaces provided by the SDK.
     */
    use \DTS\eBaySDK\OAuth\Services;
    use \DTS\eBaySDK\OAuth\Types;

    /**
     * Create the service object.
     */
    $service = new Services\OAuthService([
        'credentials' => $config['production']['credentials'],
        'ruName' => $config['production']['ruName'],
        'sandbox' => false,
    ]);
    $token = $config['production']['testToken']; ** This is the app token I get with  http://localhost/ebay-sdk-examples/oauth-tokens/01-get-app-token.php **

    /**
     * Create the request object.
     */
    $request = new Types\GetUserTokenRestRequest();
    $request->code = $token;
    // $request->code = 'v^1.1#i^1#I^3#r^1#p^3#f^0#t^Ul41XzA6MkIzRjJFRjA1MENDMzZCQjlGMjVERkYyMkMxMTRBM0VfMV8xI0VeMjYw';

    /**
     * Send the request.
     */
    $response = $service->getUserToken($request);

    echo '<pre>';
    print_r($response);
    echo '<pre>';
    exit;

    /**
     * Output the result of calling the service operation.
     */
    printf("\nStatus Code: %s\n\n", $response->getStatusCode());
    if ($response->getStatusCode() !== 200) {
        printf(
            "%s: %s\n\n",
            $response->error,
            $response->error_description
        );
    } else {
        printf(
            "%s\n%s\n%s\n%s\n\n",
            $response->access_token,
            $response->token_type,
            $response->expires_in,
            $response->refresh_token
        );
    }

Если есть простые коды без использования SDK для подключения к eBay с OAuth, это то, что я ищу.

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Создание токенов eBay может быть достигнуто с помощью наших пользовательских скриптов PHP / .NET.Документация по API eBay, содержащая множество ссылок

https://viewdotnet.wordpress.com/2011/12/20/ebay-token-generation/

Приведенная выше ссылка содержит все необходимые сведения для создания eBay Auth.токен

0 голосов
/ 24 сентября 2018

В настоящее время я также работаю с этим SDK.

Насколько я понимаю, вы должны указать URL-адрес:

 http://localhost/ebay-sdk-examples/oauth-tokens/02-get-user-token.php

В качестве вашего принятого в качестве аутентификатора URL1 на developer.ebay.com,в разделе Получить токен от eBay через ваше приложение.

Если вы устанавливаете токен $, для него должно быть установлено значение $ _GET ['code'], так как при тестировании входа в систему и принятии вы должны быть перенаправлены на вышеуказанноеURL с синтаксическим анализом? Code = xxxx.

Значение, которое вы в настоящее время устанавливаете в $ token, должно быть установлено как значение вашего authToken в ваших учетных данных.

Надеюсь, это поможет.

...