Android Google Sheets API V4 - обновление публичного листа без OAuth

java android google-sheets-api

1234 просмотра

1 ответ

3194 Репутация автора

Я пытаюсь программно обновить общедоступную электронную таблицу (которую может изменить любой пользователь) через API, но она не работает с

401 - «Запрос не имеет действительных учетных данных аутентификации».

Я ожидаю, что не понадобятся «действительные учетные данные аутентификации», так как это общедоступная электронная таблица. Я могу получить данные с листа просто отлично, хотя мне пришлось сгенерировать API-ключ «браузера», так как очевидно, что использование ключа Android не работает.

Кто-нибудь знает, есть ли хитрость, чтобы заставить работать обновление, или это невозможно с API?

Пример кода, который я взломал вместе:

// Don't think I even need this?
GoogleCredential credential = new GoogleCredential();
credential.createScoped(Collections.singleton(SheetsScopes.SPREADSHEETS));

HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory factory = JacksonFactory.getDefaultInstance();
final Sheets sheets = new Sheets.Builder(transport, factory, credential)
            .setApplicationName("My Awesome App")
            .build();
final String sheetID = "[ID Of Valid Public Spreadsheet Here]";
final String range = "A:S";
final ValueRange content = new ValueRange();
content.set("Column A Name", "Some Value to Set");
new Thread() {
    @Override
    public void run() {
        try {
            UpdateValuesResponse valueRange = sheets.spreadsheets().values()
                    .update(sheetID, range, content)
                    .setKey("My-Valid-Browser-Api-Key")
                    .execute();
                mLog.D("Got values: " + valueRange);
            }
            catch (IOException e) {
                mLog.E("Sheets failed", e);
            }
        }
    }.start();
Автор: dominicoder Источник Размещён: 19.07.2016 02:17

Ответы (1)


5 плюса

2352 Репутация автора

Решение

Сегодня API Sheets V4 не допускает анонимного редактирования, даже если это разрешено. (Это позволяет анонимное чтение для листов, которые позволяют это.)

Автор: Sam Berlin Размещён: 25.07.2016 07:21
Вопросы из категории :
32x32