2017-12-20 2 views
2

지금 Gmail의 appscript에는 비밀번호 유형 필드를 추가 할 수있는 옵션이 없습니다.gmail 카드 서비스의 비밀번호 유형 필드

부가 기능을위한 Gmail 카드 서비스는 어떤 것을 표시 할 수있는 기능이 뛰어납니다. 우리는 기본적인 REST API를 가진 모든 앱과 통합 할 수 있습니다. 우리는 일반적으로 암호 유형 필드가 필요한 인증을 필요로합니다.

암호 유형 필드를 표시하려면 어떻게해야합니까?

답변

1

현재로서는 Gmail 추가 기능의 비밀번호 입력란에 대한 지원이 없습니다.

하지만 해킹을 만들 수 있습니다. 비밀번호가 등록 양식에서만 필요합니다. 그래서 우리는 html을 사용하여 등록 양식을 만들 수 있으며 승인 작업을 통해 제공 될 수 있습니다. 여기

CardService.newAuthorizationAction().setAuthorizationUrl(loginUrl) 

, 호스트 등록 웹 서버에서 HTML과 위의 미리보기에서 "loginUrl"로이 URL을 전달합니다. 가입/등록 버튼에 AuthorizationAction을 제공해야합니다. 따라서 사용자가이 버튼을 클릭하면 새 팝업 페이지가 열리고 사용자는 사용자 이름, 비밀번호 등을 제공합니다. onsubmit, 모든 양식 데이터를 인코딩하여 부모 Gmail에 전달할 수 있습니다. 추가시 생성 할 수있는 스크립트 리디렉션 URL 일단 스크립트 URL로 리다이렉션이 오면 거기에서 add on 코드에 콜백이있을 것입니다. 등록 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 
 

 
}

은 내가 당신을 도울 바랍니다. 이것이 우리가 지금 가입/로그인 절차를 수행하는 방법입니다.