2017-09-04 3 views
-1

Je veux simplement accéder à mon propre compte Gmail et récupérer les 10 messages les plus récents. J'ai beaucoup de difficulté à m'authentifier pour pouvoir même essayer.API Gmail comment s'authentifier pour accéder à ses propres données en utilisant PHP?

J'ai suivi les instructions ici: https://developers.google.com/gmail/api/quickstart/php

Tout semble fonctionner, mais maintenant quoi? La documentation est difficile à suivre. Les appels API fonctionnent avec API Explorer mais comment accéder au jeton oAuth en PHP?

Google fournit la fonction exaple suivante:

function listMessages($service, $userId) { 
    $pageToken = NULL; 
    $messages = array(); 
    $opt_param = array(); 
    do { 
    try { 
     if ($pageToken) { 
     $opt_param['pageToken'] = $pageToken; 
     } 
     $messagesResponse = $service->users_messages->listUsersMessages($userId, $opt_param); 
     if ($messagesResponse->getMessages()) { 
     $messages = array_merge($messages, $messagesResponse->getMessages()); 
     $pageToken = $messagesResponse->getNextPageToken(); 
     } 
    } catch (Exception $e) { 
     print 'An error occurred: ' . $e->getMessage(); 
    } 
    } while ($pageToken); 

    foreach ($messages as $message) { 
    print 'Message with ID: ' . $message->getId() . '<br/>'; 
    } 

    return $messages; 
} 

Comment puis-je obtenir le $service? Je suppose que cela fait référence aux clés stockées dans client_secrets.json mais je ne sais pas comment y accéder.

Je sais que c'est une question un peu basique (si fondamentale que Google ne l'explique pas) mais je suis sûr que je ne suis pas le seul à avoir des problèmes avec ça.

Merci!

Répondre

0

Vous êtes dans un catch-22 commun - nous avons tous été là.

Vous souhaitez utiliser Google API xxx (gmail dans votre cas), vous devez donc lire les documents relatifs à l'API Gmail. Ils font une référence passante à OAuth, avec un lien, mais il y a un tuyau d'information là-bas, alors vous pouvez le lire et ensuite revenir aux docs Gmail en espérant un peu d'exemple de code à copier/coller. Malheureusement, vous devrez probablement revenir aux documents OAuth et investir quelques heures à lire le. Vous saurez quand vous l'aurez compris car vous pourrez vous expliquer la différence entre Authentification et Autorisation. La principale difficulté est que la plupart des exemples de code et des explications se rapportent au cas d'utilisation où votre application compte de nombreux utilisateurs, chacun souhaitant accéder en toute sécurité à son propre courrier électronique à l'aide de votre application. Le cas d'utilisation où un utilisateur unique veut accéder à son propre e-mail est un cas limite et donc pas bien expliqué. cet article pourrait aider How do I authorise an app (web or installed) without user intervention? (canonical ?). Je l'ai écrit pour GDrive, mais cela fonctionnera probablement aussi pour Gmail.