2017-11-23 2 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

이 작업을 수행 할 수 있는지 확실하지 않습니다. 괜찮 으면 대체 솔루션을 제안 할 수 있습니다. 당신은 같은 구글 애플리케이션 스크립트를 작성 시도 할 수 있습니다 :

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 

, 당신은 같은 문자열 응답을 얻을 것이다.

관련 문제