There are many post on this same topic but still there is no exact solution to solve this issue.
Gmail API Uhr Anfrage nicht richtig
auch in den Google-API Link unten arbeitet, gibt es eine Option, um die API wie Invalid Topic Name does not match
https://developers.google.com/gmail/api/v1/reference/users/watch
Diese API wirft einen Fehler zu testen, aber ich habe das Thema erstellt in der Pub-Sub und ich habe die Nachricht darauf veröffentlicht, das Thema funktioniert gut, aber auch ich bekomme unter Fehler. Ich erhalte 400 Fehler
{ "error": {"errors": [{
"domain": "global",
"reason": "invalidArgument",
"message": "Invalid topicName does not match projects/google.com:apisexplorerconsole/topics/*" } ],"code": 400,"message":"Invalid topicName does not match projects/google.com:apisexplorerconsole/topics/*" }}
Ich habe versucht, diese API in Client-Seite aufzurufen, wie unten
gapi.client.gmail.users.watch({
'userId': 'me',
"topicName": "projects/fast-metric-178608/topics/Test"
}).then(function (response) {
console.log(response)
});
Below Ausgang, erhalte ich Fehler 403
{ "error": { "errors": [{
"domain": "global",
"reason": "forbidden",
"message": "Error sending test message to Cloud PubSub projects/fast-metric-178608/topics/Test : User not authorized to perform this action."} ],"code": 403, "message": "Error sending test message to Cloud PubSub projects/fast-metric-178608/topics/Test : User not authorized to perform this action." }}
Sie erhalten 400 Fehler, weil Sie API Explorer verwenden. Wie in diesem [SO-Beitrag] (https://stackoverflow.com/a/30990958/5995040) angegeben, verwenden Sie den API-Explorer nicht, um ihn wie in anderen Posts vorgeschlagen zu testen. Sie können Cloud Pub/SUb-Aufrufe verwenden, wie es heißt im Leitfaden ([unter Verwendung Ihres eigenen Kundenkontos] (https://developers.google.com/gmail/api/guides/push)). –
Überprüfen Sie abschließend, ob Sie Ihrem Dienstkonto die Berechtigung zur Veröffentlichung in Pub/Sub erteilt haben, wie in diesem [Post] (https://stackoverflow.com/a/43330485/5995040) und [forum] (https: //) angegeben. groups.google.com/forum/#!topic/cloud-pubsub-discuss/PjWGWbxtcQ4). –
Danke für die Antwort, ich habe Dienstkonto erstellt und ich übergebe clientId als Parameter für die Authentifizierungsmethode var clientId = '89989545454-xyz.apps.googleusercontent.com'; function checkAuth() { gapi.auth.authorize ({ client_id: clientId, scope: bereiche, sofort: true }, handleAuthResult); } –