【问题标题】:gmail api authentication not working (javascript)gmail api身份验证不起作用(javascript)
【发布时间】:2017-09-11 15:40:59
【问题描述】:

以下代码的身份验证失败,我不知道为什么。任何帮助将不胜感激。

先是相关的htmlscript:

<script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>

现在是javascript:

var clientId = "xxxxxxxx";
var apiKey = "xxxxxxxx";
var scopes = "https://www.googleapis.com/auth/gmail.send";

function handleClientLoad() {
    gapi.client.setApiKey(apiKey);
    window.setTimeout(checkAuth, 1);
}
function checkAuth() {
    gapi.auth.authorize({
        client_id: clientId,
        scope: scopes,
        immediate: true
    }, handleAuthResult);
}
function handleAuthResult(authResult) {
    if (authResult && !authResult.error) {
        loadGmailApi();
        console.log("gmail authentication passed");
    } else {
        console.log("gmail authentication failed");
    }
}
function loadGmailApi() {
    gapi.client.load("gmail", "v1", close);
}
function close() {
    return false;
}

【问题讨论】:

    标签: javascript gmail-api google-api-js-client


    【解决方案1】:

    确保您遵循有关Authentication using the Google APIs Client Library for JavaScript 的文档。

    对 Gmail API 的所有请求都必须由经过身份验证的用户授权。 Gmail 使用 OAuth 2.0 protocol 来验证 Google 帐户并授权访问用户数据。您还可以使用Google+ Sign-in 为您的应用提供“使用 Google 登录”身份验证方法。

    另外,JavaScript Quickstart 可能会有所帮助。

    // Authorization scopes required by the API; multiple scopes can be included, separated by spaces.
          var SCOPES = 'https://www.googleapis.com/auth/gmail.readonly';    
          var authorizeButton = document.getElementById('authorize-button');
          var signoutButton = document.getElementById('signout-button');
    
    /**
     *  On load, called to load the auth2 library and API client library.
     */
          function handleClientLoad() {
            gapi.load('client:auth2', initClient);
          }
    

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      在为此苦苦挣扎了太久之后,我最终决定使用与我的网络托管服务提供商打包的电子邮件服务器,在服务器端使用 php 的方法。因此,虽然我无法回答为什么这不起作用,但我可以建议使用服务器端发送电子邮件。

      【讨论】:

        猜你喜欢
        • 2017-04-15
        • 1970-01-01
        • 1970-01-01
        • 2016-01-17
        • 2020-03-13
        • 2018-05-24
        • 2012-10-04
        相关资源
        最近更新 更多