Ich versuche mit einem API-Schlüssel von Golang einen API-Aufruf an die Google Cloud Vision API zu senden. Aber ich bekomme eine 400: bad request, invalid_grant error
.So führen Sie einen API-Key-basierten REST-Anruf mit der Google Cloud-Client-Bibliothek durch
Der apiKey/apiKeyOption Teil des folgenden Codes gehört mir.
Was ist der richtige Weg, um diesen Anruf zu tätigen? Ist es überhaupt möglich?
import (
// ...
"google.golang.org/api/option"
vision "cloud.google.com/go/vision/apiv1"
"golang.org/x/net/context"
)
func getImageLabels(filename string) []string {
ctx := context.Background()
apiKey := "..." // I have a valid api key generated in the console.
apiKeyOption := option.WithAPIKey(apiKey)
client, err := vision.NewImageAnnotatorClient(ctx, apiKeyOption)
// ...
labels, err := client.DetectLabels(ctx, image, nil, 10)
}
...
Failed to detect labels: rpc error: code = Internal desc = transport: oauth2: cannot fetch token: 400 Bad Request
Response: {
"error" : "invalid_grant"
}
Ich habe jetzt diese ohne die Client-Bibliotheken als regulärer REST Aufruf umgesetzt. Aber immer noch interessiert zu wissen, ob es mit den Client-Bibliotheken möglich ist. – sathishvj