gmail卡服务中的密码类型字段

时间:2017-12-20 11:12:35

标签: gmail gmail-addons

目前,在gmail appscript中我们没有添加密码类型字段的选项。

用于加载项的Gmail卡服务具有很好的显示任何内容的能力。我们可以与任何具有基本REST api的应用程序集成。我们需要通常需要密码类型字段的身份验证。

任何解决密码类型字段的工作?

2 个答案:

答案 0 :(得分:5)

截至目前,Gmail插件中不支持密码字段。

但我们可以为它建立一个黑客。我希望只在注册表中需要密码。因此,我们可以使用HTML构建注册表单,并通过授权操作提供服务。

CardService.newAuthorizationAction().setAuthorizationUrl(loginUrl)

这里,主机注册HTML在Web服务器中并将此URL作为" loginUrl"在上面的片段中。我们必须为注册/注册按钮提供AuthorizationAction。因此,当用户点击此按钮时,会启动一个新的弹出页面,用户将提供用户名,密码等... onsubmit,我们可以编码所有表单数据并将其传递给父Gmail加载项将其重定向到脚本重定向URL,您可以生成一个加载项。一旦重定向到脚本URL,我们的附加代码就会有回调,你可以从那里获得从注册HTML页面编码的表单字段。



function generateNewStateToken(callbackName, payload) {
        return ScriptApp.newStateToken()
        .withMethod(callbackName)
        .withArgument("payload", JSON.stringify(payload))
        .withTimeout(3600)
        .createToken();
    }

function getRedirectURI() {
    return "https://script.google.com/macros/d/" + ScriptApp.getScriptId() + "/usercallback";
  }

var state = generateNewStateToken("registerCallback", {"signup": true});
var reg_url = <reg_url> + "?redirect_uri=" + getRedirectURI() + "&state=" + state;

function registerCallback(cbResp) {
 // to access payload which passed in state token: cbResp.parameter.payload;

// in the html serialize all the form fields or data which you want to pass to plugin as query params like: <redirect_uri>?form_data=<encoded_data>&state=<state>

//Note: here the registration HTML page should parse the URL to get the state & redirect_uri from URL.

// to access form_data: cbResp.parameter.form_data

}
&#13;
&#13;
&#13;

我希望这会对你有所帮助。这就是我们现在如何进行注册/注册流程。

答案 1 :(得分:2)

看起来您正在授权非Google服务。请参阅Authorizing custom google services