Gmail-API: Unzureichende Berechtigungen

DIE SITUATION:

Teste ich das Gmail-API für meine app.

Habe ich getestet, einige Anforderungen und arbeiten Sie in Ordnung.
Zum Beispiel Nachrichten bekommen, bekommen, Benutzer, Geschichte, erhalten draft-Liste etc..

Grundsätzlich alle nur Lesen Anfragen funktionieren.

Habe ich stattdessen einige Fragen im Zusammenhang mit der Erlaubnis mit anderen Anfragen, wenn ich zum Beispiel schreiben oder löschen Sie einen Entwurf.

Dies ist die Fehlermeldung die ich bekomme:

(403) Insufficient Permission

CODE:

Dies ist die Funktion zum initialisieren der app:

public function gmail_init_service()
{
    $client = new Google_Client();

    $client->setApplicationName("Gmail API test");
    $client->setDeveloperKey("MY_KEY");
    $client->setClientSecret('MY_CLIENT_SECRET');
    $client->SetClientId('MY_CLIENT_ID');
    $client->setScopes(array('https://mail.google.com/'));
    $client->setAccessToken('{"access_token":"MY_ACCESS_TOKEN","token_type":"Bearer","expires_in":3600,"refresh_token":"MY_REFRESH_TOKEN","created":1433502343}');

    $service = new Google_Service_Gmail($client);

    return $service;
}

Dies ist die Anforderung zum löschen eines Entwurfs:

public function gmail_delete_draft()
{
    $service = $this->gmail_init_service();

    //--------------- Get draft list --------------

    $list = $service->users_drafts->listUsersDrafts('me');
    $draftList = $list->getDrafts();

    //--------------- Get draft IDs ---------------

    $inbox_draft = [];

    foreach($draftList as $mlist)
    {
        $draftId = $mlist->id;
        $optParamsGet2['format'] = 'full';
        $single_message = $service->users_drafts->get('me', $draftId , $optParamsGet2);

        $inbox_draft[]['draftId'] = $draftId;
        $inbox_draft[]['draft'] = $single_message;
    }

    //--------------- Delete draft ---------------

    $draft_delete = $service->users_drafts->delete('me', 'DRAFT_ID' );
}

EDIT:

Habe ich versucht, einen Widerruf der Genehmigung und Einrichtung von neuen Anmeldeinformationen.
Der Umfang erklärt, bei der Initialisierung des service ist:

https://mail.google.com/

dass wie in der Dokumentation erwähnt gewähren vollen Zugriff auf das Konto.

Aber ich bin noch immer der gleiche Fehler.
Genau die gleiche Fehlermeldung für die folgenden Anfragen:

Löschen - Entwurf- Entwurf Erstellen - Etiketten Erstellen - Löschen-Nachricht

DIE FRAGE:

Warum bin ich immer Fehler?

Es hat zu tun mit den gleichen Werten Speicher in einem cache?

Oder wird mit Erlaubnis von der API?

  • Wie bekommen Sie den access_token in den ersten Platz?
Schreibe einen Kommentar