2016-05-10 12 views
0

私が理解しているところでは、Google Execution APIとしてGoogle Scriptをデプロイすると、必要に応じてスクリプトから各機能を別々に呼び出すことができます。AUTHORSスプレッドシートにアクセスするためのSimple Access APIキーを備えたGoogle Execution API?

スクリプト内の機能を実行したいいくつかのボタンとフォームを持つWebページがあります。

私はいくつかの(例)機能でGoogleのスクリプトを持っている:私が401 UNAUTHENTICATEDエラーを取得

function OnLoadCallback() { //on gapi load 

    gapi.client.setApiKey(API_KEY); //developer dashboard generated browser API key 

    // Create execution request. 
    var request = { 
    'function': 'addPlayer', 
    'parameters': [name,email,group], 
    'devMode': true 
    }; 

    // Make the request. 
    var op = gapi.client.request({ 
    'root': 'https://script.googleapis.com', 
    'path': 'v1/scripts/' + scriptId + ':run', 
    'method': 'POST', 
    'body': request 
}); 
} 

function addPlayer(name,email,group) { 
    //name email group 
    var ss = SpreadsheetApp.openById(SHEET_ID); //Sheet belonging to me, script author. 
    var sheet = ss.getSheetByName("Players"); 

    sheet.appendRow(new Date(),name,email,group); 

} 

function updatePlayer() { 
    //update player row with new data 
    //name email group 

} 

function anotherFunction() { 
    //store some data in another sheet within spreadsheet.  
} 

function listPlayers() 
{ 
    //return data from sheet 
} 

そして、そのスクリプトから関数を実行したいサンプルWebページ私は正当な認証資格情報を持っていないと言っている瞬間です。

oAuthへの各ウェブページの訪問者を必要とすることなく、このウェブページがAPIを使用することは可能ですか(自分のデータ/シートではありませんが、私自身はアクセスできません。 Webアプリケーションとしてデプロイすることができますが、実行APIに相当するものはありますか?

私はいくつかの異なる機能を実行できるように、またwebapp私の唯一のオプションは、シート/シートの更新/シートからの読み込みを容易に区別できるようにしないdoPost()です。

これは完全に間違ったアプローチです誰かが私を正しい方向に向けることができれば、とても感謝しています。

ありがとうございます!

答えて

0

このSO questionに基づいて、SpreadsheetApp呼び出しを追加することにより、スクリプトに必要な認証範囲が変更されました。スプレッドシートを含むように範囲を更新する必要があります。

APIを使用するには、スクリプトで使用されるすべてのスコープをカバーする有効なOAuthトークンを指定する必要があります。認証トークンに含める正しいスコープを見つけるには、スクリプトエディタでプロジェクトを開き、[ファイル]> [プロジェクトのプロパティ]を選択し、[スコープ]タブをクリックします。

ここには、OAuthスコープのリストのためのlinkがあります。

さらに詳しい情報はSO questionをご確認ください。

関連する問題