Gets the current user's Gmail profile, but shows an error response and how to parse it..
[Reflection.Assembly]::LoadFile("C:\myAssemblies\ChilkatDotNet2.dll")
$rest = New-Object Chilkat.Rest
# Provide a previously obtained OAuth2 access token.
$oauth2 = New-Object Chilkat.OAuth2
$oauth2.AccessToken = "OAUTH2_ACCESS_TOKEN"
$rest.SetAuthOAuth2($oauth2)
$success = $rest.Connect("www.googleapis.com",443,$true,$true)
if ($success -ne $true) {
$($rest.LastErrorText)
exit
}
$rest.AddPathParam("userId","matt@chilkat.io")
$sbJson = New-Object Chilkat.StringBuilder
$success = $rest.FullRequestNoBodySb("GET","/gmail/v1/users/userId/profile",$sbJson)
if ($success -ne $true) {
$($rest.LastErrorText)
exit
}
if ($rest.ResponseStatusCode -ne 200) {
$("Received error response code: " + $rest.ResponseStatusCode)
$("Response body:")
$($sbJson.GetAsString())
exit
}
$json = New-Object Chilkat.JsonObject
$json.LoadSb($sbJson)
# The following code parses the JSON response.
# A sample JSON response is shown below the sample code.
$errorCode = $json.IntOf("error.code")
$errorMessage = $json.StringOf("error.message")
$i = 0
$count_i = $json.SizeOfArray("error.errors")
while ($i -lt $count_i) {
$json.I = $i
$domain = $json.StringOf("error.errors[i].domain")
$reason = $json.StringOf("error.errors[i].reason")
$message = $json.StringOf("error.errors[i].message")
$extendedHelp = $json.StringOf("error.errors[i].extendedHelp")
$i = $i + 1
}
$("Example Completed.")
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Gmail API has not been used in project 377697329735 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/gmail.googleapis.com/overview?project=377697329735 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"extendedHelp": "https://console.developers.google.com/apis/api/gmail.googleapis.com/overview?project=377697329735"
}
],
"code": 403,
"message": "Access Not Configured. Gmail API has not been used in project 377697329735 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/gmail.googleapis.com/overview?project=377697329735 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
}
}