簡體   English   中英

Gmail API-GABI未定義node.js

[英]Gmail API - gapi not defined node.js

我正在使用Google Gmail API中的以下功能來獲取來自用戶的所有郵件,並且在執行代碼時出現了gapi notdefined錯誤。

 /**
     * Retrieve Messages in user's mailbox matching query.
     *
     * @param  {String} userId User's email address. The special value 'me'
     * can be used to indicate the authenticated user.
     * @param  {String} query String used to filter the Messages listed.
     * @param  {Function} callback Function to call when the request is complete.
     */
    function listMessages(userId, query, callback) {
      var getPageOfMessages = function(request, result) {
        request.execute(function(resp) {
          result = result.concat(resp.messages);
          var nextPageToken = resp.nextPageToken;
          if (nextPageToken) {
            request = gapi.client.gmail.users.messages.list({
              'userId': userId,
              'pageToken': nextPageToken,
              'q': query
            });
            getPageOfMessages(request, result);
          } else {
            callback(result);
          }
        });
      };
      var initialRequest = gapi.client.gmail.users.messages.list({
        'userId': userId,
        'q': query
      });
      getPageOfMessages(initialRequest, []);
    }

我的代碼中定義了以下庫

var fs = require('fs'); 
var readline = require('readline'); 
var google = require('googleapis'); 

我得到的錯誤:

var initialRequest = gapi.client.gmail.users.messages.list({
                       ^
ReferenceError: gapi is not defined

有什么幫助我錯了嗎?

Google在節點上為Gmail API提供了一個不錯的快速入門,請參閱: https : //developers.google.com/gmail/api/quickstart/nodejs

您可以通過以下方式安裝Google API庫(如果尚未安裝):

npm install googleapis@27 --save

您需要通過Oauth2流來獲取訪問API的授權,但是由於您是在服務器端(例如,節點)上工作,因此該流與許多客戶端(例如,瀏覽器)有很大的不同。 Javascript示例。

有關完整示例,請參見快速入門中鏈接的文件: https : //github.com/gsuitedevs/node-samples/blob/master/gmail/quickstart/index.js

您需要在運行時使用此腳本,以便加載gapi。

<script src="https://apis.google.com/js/api.js"></script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM