2016-07-19 12 views
4

Ich versuche programmatisch eine öffentliche Tabelle zu aktualisieren (auf jedem bearbeiten kann) über die API aber es funktioniert nicht mitAndroid Google Sheets API V4 - Aktualisieren öffentliches Blatt ohne OAuth

401 - „Die Anfrage tut keine gültigen Authentifizierungsdaten haben. "

Ich würde erwarten, dass keine "gültigen Authentifizierungsdaten" benötigt werden, da es sich um eine öffentlich bearbeitbare Tabelle handelt. Ich kann Daten aus dem Blatt gut erhalten, obwohl ich einen "Browser" API Key generieren musste, da anscheinend ein Android Key nicht funktioniert.

Wer weiß, ob es einen Trick gibt, ein Update zum Laufen zu bringen, oder ist das mit der API nicht möglich?

Beispielcode ich zusammen Hacking bin:

// 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(); 
+0

Sie hatten Recht, Sie können Null für den Anmeldeinformationsparameter – Bastet

Antwort

3

Die Blätter V4 API heute nicht erlaubt anonyme Änderungen, auch für Blätter, die es erlauben. (Es erlaubt anonyme Lesevorgänge für Blätter, die es erlauben.)

+0

Danke für die Info. Funktioniert das "wie geplant"? Wenn ja, wäre in der Lage, das Rationale auszuarbeiten? Vielen Dank. – dominicoder

Verwandte Themen