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
(SQL Server) UPS OAuth2 Client CredentialsSee more UPS ExamplesGet an OAuth2 access token for the UPS REST API using the client credentials flow (no interactivity with a web browser required). For more information, see https://developer.ups.com/api/reference?loc=en_US#tag/OAuthClientCredentials_other
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This example assumes the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @http int -- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int -- Implements the following CURL command: -- curl -i -X POST \ -- -u 2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt:nerf254578uh8rgt7y3h57358ouyth387h8h53h6yyh80hh578per9y7u5ruyuy4 \ -- https://wwwcie.ups.com/security/v1/oauth/token \ -- -H 'Content-Type: application/x-www-form-urlencoded' \ -- -H 'x-merchant-id: 7B3027' \ -- -d grant_type=client_credentials -- Use the following online tool to generate HTTP code from a CURL command -- Convert a cURL Command to HTTP Source Code EXEC sp_OASetProperty @http, 'BasicAuth', 1 EXEC sp_OASetProperty @http, 'Login', '2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt' EXEC sp_OASetProperty @http, 'Password', 'nerf254578uh8rgt7y3h57358ouyth387h8h53h6yyh80hh578per9y7u5ruyuy4' DECLARE @req int -- Use "Chilkat_9_5_0.HttpRequest" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.HttpRequest', @req OUT EXEC sp_OAMethod @req, 'AddParam', NULL, 'grant_type', 'client_credentials' EXEC sp_OAMethod @req, 'AddHeader', NULL, 'x-merchant-id', '7B3027' DECLARE @resp int EXEC sp_OAMethod @http, 'PostUrlEncoded', @resp OUT, 'https://wwwcie.ups.com/security/v1/oauth/token', @req EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req RETURN END DECLARE @sbResponseBody int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbResponseBody OUT EXEC sp_OAMethod @resp, 'GetBodySb', @success OUT, @sbResponseBody DECLARE @jResp int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jResp OUT EXEC sp_OAMethod @jResp, 'LoadSb', @success OUT, @sbResponseBody EXEC sp_OASetProperty @jResp, 'EmitCompact', 0 PRINT 'Response Body:' EXEC sp_OAMethod @jResp, 'Emit', @sTmp0 OUT PRINT @sTmp0 DECLARE @respStatusCode int EXEC sp_OAGetProperty @resp, 'StatusCode', @respStatusCode OUT PRINT 'Response Status Code = ' + @respStatusCode IF @respStatusCode >= 400 BEGIN PRINT 'Response Header:' EXEC sp_OAGetProperty @resp, 'Header', @sTmp0 OUT PRINT @sTmp0 PRINT 'Failed.' EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @sbResponseBody EXEC @hr = sp_OADestroy @jResp RETURN END EXEC @hr = sp_OADestroy @resp -- Save the OAuth2 access token for other examples to use. EXEC sp_OAMethod @jResp, 'WriteFile', @success OUT, 'qa_data/tokens/ups_oauth2_token.json' -- If successful, the OAuth2 access token JSON looks like this: -- { -- "token_type": "Bearer", -- "issued_at": "1686911985606", -- "client_id": "2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt", -- "access_token": "eyJraW......R2sbqrY", -- "expires_in": "14399", -- "status": "approved" -- } DECLARE @token_type nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @token_type OUT, 'token_type' DECLARE @issued_at nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @issued_at OUT, 'issued_at' DECLARE @client_id nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @client_id OUT, 'client_id' DECLARE @access_token nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @access_token OUT, 'access_token' DECLARE @expires_in nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @expires_in OUT, 'expires_in' DECLARE @status nvarchar(4000) EXEC sp_OAMethod @jResp, 'StringOf', @status OUT, 'status' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @sbResponseBody EXEC @hr = sp_OADestroy @jResp END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.