Visual FoxPro
Visual FoxPro
curl with OAuth2 Client Credentials
See more CURL Examples
This example shows how to run a simple CURL command with an OAuth2 access token for authorization. We use CURL to retrieve a SharePoint site ID, and Chilkat automatically fetches the OAuth2 access token using the provided credentials.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loSb
LOCAL loJsonOAuth2
LOCAL loHttpCurl
LOCAL loResponseJson
LOCAL lnStatusCode
lnSuccess = 0
* This example will run the following curl command
* curl -X GET "https://graph.microsoft.com/v1.0/sites/{{sharepoint_hostname}}:/sites/{{site_name}}" \
* -H "Authorization: Bearer ACCESS_TOKEN" \
* -H "Accept: application/json"
loSb = CreateObject('Chilkat.StringBuilder')
loSb.AppendLn('curl -X GET "https://graph.microsoft.com/v1.0/sites/{{sharepoint_hostname}}:/sites/{{site_name}}" \')
loSb.AppendLn(' -H "Authorization: Bearer ACCESS_TOKEN" \')
loSb.AppendLn(' -H "Accept: application/json"')
* Build the JSON that provides information for getting the OAuth2 access token using the OAuth2 client credentials flow.
loJsonOAuth2 = CreateObject('Chilkat.JsonObject')
loJsonOAuth2.UpdateString("oauth2.client_id","CLIENT_ID")
loJsonOAuth2.UpdateString("oauth2.client_secret","CLIENT_SECRET")
loJsonOAuth2.UpdateString("oauth2.scope","https://graph.microsoft.com/.default")
loJsonOAuth2.UpdateString("oauth2.token_endpoint","https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token")
loHttpCurl = CreateObject('Chilkat.HttpCurl')
* Provide the information for getting the OAuth2 access token from the token endpoint
* Note: The Authorization header specified in the curl command will be ignored and replaced using the OAuth2 access token obtained at runtime from the token endpoint.
loHttpCurl.SetAuth(loJsonOAuth2)
* The placeholders {{sharepoint_hostname}} and {{site_name}} represent variables that must be defined before execution.
* When DoYourThing runs the curl command, it automatically substitutes these placeholders with their corresponding values.
* Below are the values assigned to these variables:
loHttpCurl.SetVar("sharepoint_hostname","example.sharepoint.com")
loHttpCurl.SetVar("site_name","test")
* Run the curl command.
lnSuccess = loHttpCurl.DoYourThing(loSb.GetAsString())
IF (lnSuccess = 0) THEN
? loHttpCurl.LastErrorText
RELEASE loSb
RELEASE loJsonOAuth2
RELEASE loHttpCurl
CANCEL
ENDIF
loResponseJson = CreateObject('Chilkat.JsonObject')
loResponseJson.EmitCompact = 0
loHttpCurl.GetResponseJson(loResponseJson)
lnStatusCode = loHttpCurl.StatusCode
? "response status code: " + STR(lnStatusCode)
? loResponseJson.Emit()
RELEASE loSb
RELEASE loJsonOAuth2
RELEASE loHttpCurl
RELEASE loResponseJson