2016-03-31 5 views
1

従業員の出席状況を把握できるように、私の職場にはかなり便利なツールが用意されています。私の最近の追加は、違反が宣告されたときに、その違反IDへのリンクが付いた電子メールが送信されることです。私はそのリンクをクリックし、htmlページを読み込み、違反IDをページに渡したいと思っています。私はたくさんの検索をしてきましたが、明確な答えや似たようなケースは見つからないようです。私が見つけた受け入れられた答えは、私の状況には当てはまらないようです。私は私のページへ1457989239035-cc3050b8値を渡したいHREFからGoogle HTMLSERVICE Appに変数を渡す

URL: https://script.google.com/a/macros/mycomp.com/s/blahblahmyID/dev 

HREF: https://script.google.com/a/macros/mycomp.com/s/blahblahmyID/dev?cID=1457989239035-cc3050b8 

:ここ

は一例です。一度私はそこからそれを扱うことができるページでそれを得る、ちょうど電子メールのHREFリンクからそれを引き出す方法を見つけることができません。従来のウェブサイトを使用しないという欠点の1つ。ここで

がアプリからIndex.htmlをロードするための私のdoGet()コードです:それはかなり標準であるように、そのコードはのにどのように役立ち

function doGet(e) { 

return HtmlService 
    .createTemplateFromFile('Index') 
    .evaluate() 
    .setSandboxMode(HtmlService.SandboxMode.IFRAME); 
} 

わかりません。私はこれをやろうとしているのですか?

UPDATE:

私はこのシステムがどのように機能するかについて十分な情報を与えられていないことに気づきました。私はスプレッドシート(​​Googleシート)に保存された情報を提供するためにHTMLを使用しています。問題のIDは、スプレッドシート内のエントリへの参照です(列1)。それはアプリの一部ではない、私はちょうど私がデータを取得する必要があるrowの値を渡すために探しています。私はこの値を持っている場合、私はスプレッドシートから他のすべての値を取得するスクリプトを実行することができます。

+1

IDがe.parameterオブジェクトの属性である、あなたはID = e.parameter.id' –

+0

'のようなものを使用して、それを取得する必要があり、私は理解してわかりません'e.parameter'オブジェクトがどのように動作するのか、それを電子メールで提供されている' 'からそのオブジェクトにどのように渡すかを指定します。 – xxSithRagexx

+1

あなたはあなたの質問に、URLの疑問符の直後にそれを表示するのと同じように渡します:HREF:.......(読みやすくするためにhttpを削除しました)... script.google.com/a/macros/ mycomp.com/s/blahblahmyID/dev?cID=1457989239035-cc3050b8 –

答えて

1

IDを使用すると、のようなものを使用して、それを取得する必要があり、e.parameterオブジェクトの属性であるid=e.parameter.id

あなたは右のURL

で疑問符の後、あなたの質問にそれを示して同じようにそれを渡すことができます

HREF:https://script.google.com/a/macros/mycomp.com/s/blahblahmyID/exec?id=1457989239035-cc3050b8

サーバーのコードは、値を取得どこかに保存し、クライアントのJavaScriptがそれを要求するときにそれを返送できるようになります。

は以下のshematic例を参照してください:

function doGet(e) { 
var id = e.parameter.id 
PropertiesService.getScriptProperties().setProperty('id',id); 
return HtmlService 
    .createTemplateFromFile('Index') 
    .evaluate() 
    .setSandboxMode(HtmlService.SandboxMode.IFRAME); 
} 
function returnID(){ 
    return PropertiesService.getScriptProperties().getProperty('id'); 
} 

// in your client javascript, add a call like this (outside of any function so it is executed on page load... or use onload="theFunctionName"...): 

google.script.run.withSuccessHandler(getID).returnID(); 
function getID(id){ 
    console.log(id); 
} 
+0

'setProperties ) 'それは方法ではないというエラーで戻って来たが、私は回避策を見つけた!ありがとうございました!これは私のアプリが将来もっと役立つようにするものです。 :-) – xxSithRagexx

+1

はい、それはタイプミスでした...これはsetPropertyです。この場合、私は数分後に更新しましたが、あなたはすでにそれを取りました!受け入れるためのThx。 –

+1

私はミハハの男です:-Dもう一度おねがいします! – xxSithRagexx

関連する問題