Go
Go
Group: Refresh OAuth2 Access Token
See more Microsoft Group Examples
Refreshes an expired or non-expired OAuth2 access token for the Microsoft Group REST API.Chilkat Go Downloads
success := false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
json := chilkat.NewJsonObject()
success = json.LoadFile("qa_data/tokens/msGraphGroup.json")
if success != true {
json.DisposeJsonObject()
return
}
req := chilkat.NewHttpRequest()
req.AddParam("grant_type","refresh_token")
req.AddParam("redirect_uri","http://localhost:3017/")
req.AddParam("client_id","MICROSOFT-GRAPH-CLIENT-ID")
req.AddParam("client_secret","MICROSOFT-GRAPH-CLIENT-SECRET")
req.AddParam("refresh_token",*json.StringOf("refresh_token"))
req.AddParam("scope","openid profile offline_access user.readwrite group.readwrite.all files.readwrite")
http := chilkat.NewHttp()
req.SetHttpVerb("POST")
req.SetContentType("application/x-www-form-urlencoded")
resp := chilkat.NewHttpResponse()
success = http.HttpReq("https://login.microsoftonline.com/common/oauth2/v2.0/token",req,resp)
if success == false {
fmt.Println(http.LastErrorText())
json.DisposeJsonObject()
req.DisposeHttpRequest()
http.DisposeHttp()
resp.DisposeHttpResponse()
return
}
// Load the JSON response.
json.Load(resp.BodyStr())
json.SetEmitCompact(false)
// Show the JSON response.
fmt.Println(*json.Emit())
fmt.Println("Response status code: ", resp.StatusCode())
// If the response status code is not 200, then it's an error.
if resp.StatusCode() != 200 {
json.DisposeJsonObject()
req.DisposeHttpRequest()
http.DisposeHttp()
resp.DisposeHttpResponse()
return
}
// Save the refreshed access token JSON to a file for future requests.
fac := chilkat.NewFileAccess()
fac.WriteEntireTextFile("qa_data/tokens/msGraphGroup.json",*json.Emit(),"utf-8",false)
fmt.Println("Success.")
json.DisposeJsonObject()
req.DisposeHttpRequest()
http.DisposeHttp()
resp.DisposeHttpResponse()
fac.DisposeFileAccess()