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
(PowerShell) Get eBay Application TokenThis example shows how to request an eBay Application token.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. # See the Ebay documentation about Access token types # Also see the Ebay documentation about client credentials grant flow $http = New-Object Chilkat.Http # If using the sandbox, the target endpoint will be: # POST https://api.sandbox.ebay.com/identity/v1/oauth2/token # If using the production (live) system, the target endpoint will be: # POST https://api.ebay.com/identity/v1/oauth2/token # The eBay client_id and client_secret needs to be sent # in a Basic Authorization request header, which has this format: # Authorization: Basic <B64_encoded_oauth_credentials> # Chilkat takes care of it. You only need to set the Login = client_id, # and password = client_secret, and indicate you want "Basic" HTTP Authorization. $http.Login = "EBAY_CLIENT_ID" $http.Password = "EBAY_CLIENT_SECRET" $http.BasicAuth = $true # Let's do the following POST: # HTTP method: POST # URL (Sandbox): https://api.sandbox.ebay.com/identity/v1/oauth2/token # # HTTP headers: # Content-Type = application/x-www-form-urlencoded # Authorization = Basic <B64-encoded-oauth-credentials> # # Request body (wrapped for readability): # grant_type=client_credentials& # redirect_uri=<RuName-value>& # scope=<SPACE separated list of scopes> # # Create an HttpRequest object to hold the request params. $req = New-Object Chilkat.HttpRequest $req.HttpVerb = "POST" $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 $req.AddParam("scope","https://api.ebay.com/oauth/api_scope") # (The PostUrlEncoded method automatically sets the Content-Type header equal to "application/x-www-form-urlencoded") $endPoint = "https://api.sandbox.ebay.com/identity/v1/oauth2/token" $resp = $http.PostUrlEncoded($endPoint,$req) if ($http.LastMethodSuccess -ne $true) { $($http.LastErrorText) exit } # The response is JSON.. $json = New-Object Chilkat.JsonObject $json.Load($resp.BodyStr) $json.EmitCompact = $false # If the response status code is not 200, then it failed. $("Response status code = " + $resp.StatusCode) if ($resp.StatusCode -ne 200) { $($json.Emit()) $("Failed.") exit } # We successfully retrieved an eBay access token. # The actual access token string can be parsed from the JSON like this: $accessToken = $json.StringOf("access_token") # This application token is only valid for 7200 seconds (2 hours). We'll want to refresh # it before it expires. (There is an online example for that..) # For now, let's save the JSON to a file for our application to use. # But before doing that, let's add to the JSON an expiration timestamp # so we know when to refresh the token. $dtExpire = New-Object Chilkat.CkDateTime $dtExpire.SetFromCurrentSystemTime() $dtExpire.AddSeconds($json.IntOf("expires_in")) $json.AppendString("expire_time",$dtExpire.GetAsTimestamp($false)) # Persist the JSON to a file. $fac = New-Object Chilkat.FileAccess $success = $fac.WriteEntireTextFile("qa_data/tokens/ebay.json",$json.Emit(),"utf-8",$false) if ($success -ne $true) { $($fac.LastErrorText) $("Failed to save eBay Application token to file.") exit } $($json.Emit()) $("Success.") # The output of this example is: # { # "access_token": "v^1.1#i^1#p^1#I^3#r^0# ... Ajp1BQhJDgAA", # "token_type": "Application Access Token", # "expires_in": 7200, # "refresh_token": "N/A", # "expire_time": "2017-04-16T14:44:20Z" # } # # Success. # |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.