Данные запроса из таблицы Google в Android

Я пытаюсь запросить форму данных Google Spreadsheet, доступную для чтения любым, у кого есть ссылка только для чтения .

Я реализовал это решение Quickstart, но вот что мне нужно:

  • Доступ к данным только с 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" } ] } 

Это происходит, когда данные фактически присутствуют в листе в столбце A со значением C298732300456446 .

Что я могу сделать для получения данных без какой-либо проверки подлинности из моей таблицы?

Я не уверен, что это можно сделать. Если это хорошо, я могу предложить альтернативное решение. Вы можете попробовать написать сценарий приложения Google, например:

 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-адреса, который будет получен при публикации этого скрипта.

Вызовите скрипт следующим образом:

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

Если ключ найден, вы получите ответ строки:

 "value" 

Надеюсь, это поможет.

Intereting Posts
Могу ли я написать функцию расширения Kotlin, которая использует автоспуск Spring bean? Kotlin Lambda не вызывает код внутри Dagger2-Retrofit не вводит в ApiHelperImpl Ошибка при обработке аннотаций с помощью Kapt и Dagger2 Вызов Kotlin из Java – ошибка: демо-версия пакета не существует соединение между сеткой и списком. Повторное включение будильника для точного в определенное время работы не работает Проблемы с загрузкой изображений в Firebase Почему при создании этого проекта появляется ошибка «Нет дескрипторов сборки». Kotlin: Как я могу избежать автобоксинга (мусора) в делегированных свойствах? Kotlin Деятельность, не включенная в APK Kotlin, ориентированный на Java interop: Идиоматический тип для ленивой коллекции? Kotlin приостанавливает функцию рекурсивного вызова Почему kotlin не работает в студии andriod с плагином kotlin install Как работать весело получить (индекс: Int): Char?