2017-11-23 6 views
1

読み取り専用リンクを持つ人が読むことができるデータ形式のGoogleスプレッドシートをクエリしようとしています。AndroidのGoogleスプレッドシートからのクエリデータ

私はthisクイックスタートソリューションを実装しますが、ここで私は必要なものである:

  • Accessデータを単にURLと、列Aに
  • クエリ項目に必要な認証なし、列B
  • 不要で値を取得します

    :任意のデータ

を更新するために、私は次のようにクエリを構築しようとしました

http://spreadsheets.google.com/tq?tq=SELECT%20*%20WHERE%20A=C298732300456446&key=2aEqgR1CDJF5Luib-uTL0yKLuDjcTm0pOIZeCf9Sr0wAL0yK 

しかし、私が得るすべては次のとおりです。

/*O_o*/ 
google.visualization.Query.setResponse(
{ 
    "version": "0.6", 
    "reqId": "0", 
    "status": "error", 
    "errors": [ 
    { 
     "reason": "invalid_query", 
     "message": "INVALID_QUERY", 
     "detailed_message": "Invalid query: NO_COLUMN: C298732300456446" 
    } 
    ] 
} 

データが値C298732300456446と列Aのシートに実際に存在する場合にこれが来ます。

スプレッドシートからの認証なしでデータを取得するにはどうすればよいですか?

答えて

1

これを行うことができるかわかりません。うまくいけば、私は代わりの解決策を提案することができます。あなたが好きはGoogle Appスクリプトを書いてみてくださいすることができます

function doGet(e) { return getInfo(e); } 
function doPost(e) { return getInfo(e); } 

function getInfo(request) { 

    var someValueFromUrl = request.parameter.value; 
    var requiredValue = ""; 

    var sheet = SpreadsheetApp.openById("spreadsheet_id"); 
    var data = sheet.getDataRange().getValues(); 

    for (var i = 0; i < data.length; i++) { 
    Logger.log("Reading row num: " + i); 

    if(data[i][0] == someValueFromUrl) { 
     requiredValue = data[i][1]; 
     break; 
    } 
    } 

    Logger.log(requiredValue); 
    return ContentService.createTextOutput(JSON.stringify(requiredValue)); 
} 

この方法は、あなたがウェブアプリとしてこのスクリプトを公開し、このスクリプトを公開したときに得られることになるURLを使って呼び出すことができます。私はこれが役に立てば幸い

"value" 

:キーが見つかった場合のように、あなたは文字列の応答を取得します

https://script.google.com/macros/s/obtained_url/exec?value=1234 

は次のようにスクリプトを呼び出します。

関連する問題