2011-09-23 9 views
9

Sto cercando di ottenere dati da un foglio di calcolo di Google, usando javascript e jQuery, per fare un po 'di matematica con i numeri.Un modo per ottenere dati JSON di un foglio di calcolo di Google Documenti utilizzando jquery senza rendere pubblico il documento?

Con il codice successivo ho preso, per i fogli elettronici pubblici:

function getdata(key, wid, f) 
{ 
    return $.getJSON(
     '//spreadsheets.google.com/feeds/cells/' + 
     key + '/' + wid + '/public/basic?alt=json-in-script&callback=?', 
      function(data){ 
        /* the content of this function is not important to the question */ 
        var entryidRC = /.*\/R(\d*)C(\d*)/; 
        var retdata = {}; 
        retdata.mat = {}; 
        for(var l in data.feed.entry) 
        { 
          var entry = data.feed.entry[ l ]; 
          var id = entry.id.$t; 
          var m = entryidRC.exec(id); 
          var R,C; 
          if(m != null) 
          { 
            R = new Number(m[ 1 ]); 
            C = new Number(m[ 2 ]); 
          } 
          var row = retdata.mat[ R ];                               
          if(typeof(row) == 'undefined')                              
            retdata.mat[ R ] = {};                               
          retdata.mat[ R ][ C ] = entry.content;                             
        }                                        
        if(typeof(f) != 'undefined')                                
          f(retdata)                                   
        else                                       
          console.log(retdata);                                
      }                                          
    ); 
} 

Quando provato per quelli privati, ho ottenuto i dati in XML (utilizzando l'URL: '//spreadsheets.google.com/feeds/cells/'+ key + '/' + wid + '/private/basic'). Questo test verifica anche la disponibilità, il firewall, l'impostazione delle autorizzazioni e lo stato di accesso dell'utente corrente.

Ma aggiungendo l'ultima parte: ?alt=json-in-script&callback=f per ottenere i dati in JSON, viene generato un Non trovato, Errore 404. (Ottenuto anche se è stato aggiunto solo alt=json).

Sintesi situazione:

 public  private 
XML  yes   yes 
JSON yes  Question 

L'uso di JSON contro Google è descritto in http://code.google.com/intl/es/apis/gdata/docs/json.html

L'uso di google foglio api è descritto in http://code.google.com/intl/es/apis/spreadsheets/data/3.0/reference.html#WorksheetFeed

Qualsiasi modo per ottenere i dati JSON di un GDoc SpreadSheet usando java criptare senza rendere il documento disponibile pubblicamente?

Grazie in anticipo

+0

è la mia prima domanda, si prega di votare/commentare per migliorare il mio stile – robermorales

+1

Presumibilmente '& callback = f' è un errore di battitura e si intende' & callback =? ' – graphicdivine

+0

quando sono nella barra degli indirizzi di un browser , Io uso '= f', da jquery io uso' =? '. Grazie comunque. – robermorales

risposta