skip to Main Content

I am trying to integrate an eBay SDK developed by David Sadler which is in GitHub. But I got stuck on connection part itself. I am getting app token with http://localhost/ebay-sdk-examples/oauth-tokens/01-get-app-token.php with my production credentials.

But when I hit, http://localhost/ebay-sdk-examples/oauth-tokens/02-get-user-token.php it gives me this error:

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

all The codes are available in the SDK link. Incase you need here is the code snippet

    <?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 DTSeBaySDKOAuthServices;
    use DTSeBaySDKOAuthTypes;

    /**
     * Create the service object.
     */
    $service = new ServicesOAuthService([
        '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 TypesGetUserTokenRestRequest();
    $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: %snn", $response->getStatusCode());
    if ($response->getStatusCode() !== 200) {
        printf(
            "%s: %snn",
            $response->error,
            $response->error_description
        );
    } else {
        printf(
            "%sn%sn%sn%snn",
            $response->access_token,
            $response->token_type,
            $response->expires_in,
            $response->refresh_token
        );
    }

If there are simple codes to without using any SDK to connect to eBay with OAuth, its what I am searching for.

2

Answers


  1. I am also currently working with this SDK.

    My understanding is you should place the url:

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

    As your Your auth accepted URL1 in the developer.ebay.com, under Get a Token from eBay via Your Application.

    Where you are setting $token this should be set to $_GET[‘code’] as when testing the sign-in and accepting you should be redirected to the above URL with a ?code=xxxx parsed back to it.

    The value your currently setting to $token should be set as the value of your authToken within your credentials.

    Hope that helps.

    Login or Signup to reply.
  2. eBay Token generation can be achieved using our custom PHP/.NET scripts. eBay API documentation having many references

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

    The above link includes all the required details to generate eBay Auth. token

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search