בדף הזה מוסבר איך לפתור בעיות ב-Cloud Location Finder.
ה-API מחזיר שגיאת 403
הבעיה הבאה מתרחשת כש:
התכונה Cloud Location Finder לא מופעלת בפרויקט
{
"error": {
"code": 403,
"message": "Cloud Location Finder API has not been used in project PROJECT_ID before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudlocationfinder.googleapis.com/overview?project=PROJECT_ID then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "SERVICE_DISABLED",
"domain": "googleapis.com",
"metadata": {
"activationUrl": "https://console.developers.google.com/apis/api/cloudlocationfinder.googleapis.com/overview?project=PROJECT_ID",
"serviceTitle": "Cloud Location Finder API",
"service": "cloudlocationfinder.googleapis.com",
"containerInfo": "PROJECT_ID",
"consumer": "projects/PROJECT_ID"
}
},
{
"@type": "type.googleapis.com/google.rpc.LocalizedMessage",
"locale": "en-US",
"message": "Cloud Location Finder API has not been used in project PROJECT_ID before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudlocationfinder.googleapis.com/overview?project=PROJECT_ID then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
},
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developers console API activation",
"url": "https://console.developers.google.com/apis/api/cloudlocationfinder.googleapis.com/overview?project=PROJECT_ID"
}
]
}
]
}
}
כדי לפתור את הבעיה, צריך להפעיל את Cloud Location Finder API בפרויקט. הוראות מפורטות מופיעות במדריך למתחילים.
אין לכם הרשאה למשאב
{
"error": {
"code": 403,
"message": "Permission 'cloudlocationfinder.cloudLocations.list' denied on resource '//cloudlocationfinder.googleapis.com/projects/PROJECT_ID/locations/global' (or it may not exist).",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "IAM_PERMISSION_DENIED",
"domain": "cloudlocationfinder.googleapis.com",
"metadata": {
"resource": "projects/PROJECT_ID/locations/global",
"permission": "cloudlocationfinder.cloudLocations.list"
}
}
]
}
}
כדי לפתור את הבעיה, צריך להוסיף את התפקיד cloudlocationfinder.viewer לפרויקטים עם משאבים שרוצים להפנות אליהם בשאילתה. הוראות מפורטות מופיעות במדריך למתחילים.
ה-API מחזיר שגיאת 400
הבעיה הבאה מתרחשת כששאילתה לא תקינה:
$ curl -H "Authorization: Bearer $(gcloud auth print-access-token)" 'https://cloudlocationfinder.googleapis.com/v1/projects/PROJECT_ID/locations/global/cloudLocations?filter=cloud_location_type=FAKE_LOCATION'
{
"error": {
"code": 400,
"message": "Bad usage: Invalid enum name \"FAKE_LOCATION\" for type `cloud.reliability.cloudlocationfinder.storage.CloudLocation.CloudLocationType`.",
"status": "INVALID_ARGUMENT",
"details": [
...
}
כדי לפתור את הבעיה, קוראים את הודעת השגיאה. הנחיות לגבי תחביר השאילתות ותחביר מקובל מופיעות במאמר הפניית API בארכיטקטורת REST.