2017-12-20 8 views
2

現在、Gmailのappscriptでは、パスワードタイプフィールドを追加するオプションはありません。gmailカードサービスのパスワードタイプフィールド

アドオン用Gmailカードサービスには、何かを表示する機能があります。私たちは、基本的なREST APIを持つどのアプリケーションとも統合できます。パスワードタイプのフィールドが一般的に必要な認証には認証が必要です。

パスワードタイプのフィールドを表示するにはどうしたらよいですか?

答えて

1

今のところ、gmail addのパスワードフィールドはサポートされていません。

しかし、我々はそれのためのハックを構築することができます。私は、パスワードが登録用紙にのみ必要であることを願っています。したがって、私たちはhtmlを使用して登録フォームを作成することができ、これは承認アクションによって提供されます。

CardService.newAuthorizationAction().setAuthorizationUrl(loginUrl) 
ここ

、Webサーバでホスト登録htmlと上記のスニペットで「loginUrl」としてこのURLを渡します。サインアップ/登録ボタンの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 
 

 
}

私は、これはあなたを助けることを願っています。これで今サインアップ/サインインの流れをしています。