Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Ruby) Get Ebay OAuth2 Token using Client Credentials Grant FlowSee more eBay ExamplesDemonstrates how to get a Ebay OAuth2 access token using the client credentials grant flow. There are two ways of "minting" an OAuth2 access token.
For more information, see https://developer.ebay.com/api-docs/static/oauth-client-credentials-grant.html
require 'chilkat' # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = Chilkat::CkHttp.new() # Implements the following CURL command: # curl -X POST 'https://api.sandbox.ebay.com/identity/v1/oauth2/token' \ # -H 'Content-Type: application/x-www-form-urlencoded' \ # -H 'Authorization: Basic UkVTVFRlc3...wZi1hOGZhLTI4MmY=' \ # -d 'grant_type=client_credentials&scope=https%3A%2F%2Fapi.ebay.com%2Foauth%2Fapi_scope' # Use the following online tool to generate HTTP code from a CURL command # Convert a cURL Command to HTTP Source Code req = Chilkat::CkHttpRequest.new() req.put_HttpVerb("POST") req.put_Path("/identity/v1/oauth2/token") req.put_ContentType("application/x-www-form-urlencoded") req.AddParam("grant_type","client_credentials") # The scope query param indicates the access to be provided by the token. # Multiple scopes can be specified by separating each with a SPACE char. # See the Ebay OAuth scopes documentation scope = "https://api.ebay.com/oauth/api_scope https://api.ebay.com/oauth/api_scope/buy.order.readonly https://api.ebay.com/oauth/api_scope/buy.guest.order https://api.ebay.com/oauth/api_scope/sell.marketing.readonly https://api.ebay.com/oauth/api_scope/sell.marketing https://api.ebay.com/oauth/api_scope/sell.inventory.readonly https://api.ebay.com/oauth/api_scope/sell.inventory https://api.ebay.com/oauth/api_scope/sell.account.readonly https://api.ebay.com/oauth/api_scope/sell.account https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly https://api.ebay.com/oauth/api_scope/sell.fulfillment https://api.ebay.com/oauth/api_scope/sell.analytics.readonly https://api.ebay.com/oauth/api_scope/sell.marketplace.insights.readonly https://api.ebay.com/oauth/api_scope/commerce.catalog.readonly https://api.ebay.com/oauth/api_scope/buy.shopping.cart https://api.ebay.com/oauth/api_scope/buy.offer.auction" req.AddParam("scope",scope) # Setting these properties causes the Authorization: Basic UkVTVFRlc3...wZi1hOGZhLTI4MmY= # header to be added. http.put_Login("EBAY_CLIENT_ID") http.put_Password("EBAY_CLIENT_SECRET") http.put_BasicAuth(true) # resp is a CkHttpResponse resp = http.PostUrlEncoded("https://api.sandbox.ebay.com/identity/v1/oauth2/token",req) if (http.get_LastMethodSuccess() == false) print http.lastErrorText() + "\n"; exit end sbResponseBody = Chilkat::CkStringBuilder.new() resp.GetBodySb(sbResponseBody) jResp = Chilkat::CkJsonObject.new() jResp.LoadSb(sbResponseBody) jResp.put_EmitCompact(false) print "Response Body:" + "\n"; print jResp.emit() + "\n"; respStatusCode = resp.get_StatusCode() print "Response Status Code = " + respStatusCode.to_s() + "\n"; if (respStatusCode >= 400) print "Response Header:" + "\n"; print resp.header() + "\n"; print "Failed." + "\n"; exit end # Sample JSON response: # (Sample code for parsing the JSON response is shown below) # { # "access_token": "v^1.1#i^1#p^1#r^0#I^3#f^0#t^H4s ... wu67e3xAhskz4DAAA", # "expires_in": 7200, # "token_type": "Application Access Token" # } # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON access_token = jResp.stringOf("access_token") expires_in = jResp.IntOf("expires_in") token_type = jResp.stringOf("token_type") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.