目前,在gmail appscript中我们没有添加密码类型字段的选项。
用于加载项的Gmail卡服务具有很好的显示任何内容的能力。我们可以与任何具有基本REST api的应用程序集成。我们需要通常需要密码类型字段的身份验证。
任何解决密码类型字段的工作?
答案 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;
我希望这会对你有所帮助。这就是我们现在如何进行注册/注册流程。
答案 1 :(得分:2)
看起来您正在授权非Google服务。请参阅Authorizing custom google services。