Guida per gli sviluppatori: JavaScript

L'API dati di Blogger consente alle applicazioni client di visualizzare e aggiornare Blogger contenuti sotto forma di feed di API di dati di Google.

L'applicazione client può utilizzare l'API Blogger Data per creare nuovi post del blog, modificare o eliminare post del blog esistenti e eseguire query sui post del blog che corrispondono a determinati criteri.

Oltre a fornire alcune informazioni sulle funzionalità dell'API di dati di Blogger, questo documento fornisce esempi di interazioni di base con l'API di dati utilizzando la libreria client JavaScript. Se vuoi saperne di più sul protocollo di base utilizzato dalla libreria, consulta la sezione Protocollo di questa guida per gli sviluppatori.

Sommario

Pubblico

Questo documento è rivolto ai programmatori che vogliono scrivere applicazioni client JavaScript in grado di interagire con Blogger. Fornisce una serie di esempi le interazioni di base dell'API Data utilizzando la libreria client JavaScript.

Per informazioni di riferimento sull'API Blogger Data, consulta la guida di riferimento del protocollo. Questo documento presuppone che tu abbia compreso le idee generali alla base delle API di dati di Google e il modello dei dati e il flusso di controllo utilizzati dal client JavaScript. nella tua raccolta di Google Cloud. Si presume inoltre che tu sappia programmare in JavaScript.

Per informazioni di riferimento sulle classi e sui metodi forniti dalla nella libreria client, consulta l'articolo sull'API della libreria client JavaScript riferimento.

Questo documento è progettato per essere letto in ordine; ogni esempio si basa sugli esempi precedenti.

Termini di servizio

L'utente accetta di rispettare le norme Termini e condizioni d'uso della libreria client quando si utilizza la libreria client JavaScript.

Informazioni sugli ambienti supportati

Al momento, supportiamo solo le applicazioni client JavaScript eseguite in un ambiente in un browser. I browser attualmente supportati sono Firefox 1.5 e versioni successive e Internet Explorer 6.0 e versioni successive.

La libreria client JavaScript gestisce tutte le comunicazioni con o server web. Se sei uno sviluppatore JS esperto, potresti chiederti: "Ma che ne è della norma sulla stessa origine?" La libreria client JavaScript consente al client di inviare Richieste API di dati di Google da qualsiasi dominio pur rimanendo conformi alle il modello di sicurezza del browser.

Per iniziare

Prima di poter scrivere un'applicazione client JavaScript, dovrai effettuare alcune impostazioni per acquisire la libreria.

Creazione di un account Blogger

Puoi registrarti per un Blogger a scopo di test. Blogger utilizza gli Account Google, quindi se hai già un Account Google, non devi fare altro.

Acquisizione della biblioteca

Prima che il client possa utilizzare la libreria client, deve richiedere il del codice libreria client dal server.

Per iniziare, utilizza un tag <script> nella sezione <head> del tuo documento HTML per recuperare il caricatore dell'API AJAX di Google:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>

Per acquisire la libreria client dell'API Google Data dopo aver recuperato il caricatore, utilizza la riga seguente nel codice di configurazione JavaScript, che deve essere chiamato dalla sezione <head> del documento HTML (o da un file JavaScript incluso utilizzando un tag <script> nella sezione <head> del documento HTML):

google.load("gdata", "1.x");

Il secondo parametro di google.load() è il numero di versione richiesta della libreria client JavaScript.Il nostro schema di numerazione delle versioni è modellato in base a quello utilizzato dall'API di Google Maps. Di seguito sono riportati i possibili numeri di versione e il loro significato:

"1"
L'ultima revisione della versione principale 1.
"1.x"
La revisione più recente della versione principale 1.
"1.s"
La revisione stabile più recente della versione principale 1. A volte dichiariamo "stabile" una determinata versione della libreria client, in base al feedback che riceviamo dagli sviluppatori. Tuttavia, quella versione potrebbe non avere le funzionalità più recenti.
"1.0", "1.1" e così via
Una versione specifica della libreria, con un numero di revisione principale e secondario specificato.

Dopo aver chiamato google.load(), devi dire al caricatore di attendere il termine del caricamento della pagina e chiamare il codice:

google.setOnLoadCallback(getMyBlogFeed);

dove getMyBlogFeed() è una funzione che definiremo in un'altra sezione di questo documento. Utilizza questo approccio anziché Gestore onload collegato a <body> .

Autenticazione nel servizio Blogger

Puoi accedere a feed pubblici e privati utilizzando l'API di dati di Blogger. I feed pubblici non richiedono alcuna autenticazione, ma sono di sola lettura. Se vuoi modificare i blog, il tuo cliente deve autenticarsi prima di richiedere i feed privati.

La libreria client JavaScript utilizza il sistema di autenticazione AuthSub. Per maggiori informazioni sull'autenticazione con le API di dati di Google in generale, consulta la documentazione sull'autenticazione.

Autenticazione proxy AuthSub

L'autenticazione proxy AuthSub viene utilizzata dalle applicazioni web che devono autenticare i propri utenti negli Account Google. L'operatore del sito web e il codice client non hanno accesso al nome utente e alla password dell'utente di Blogger. Il client ottiene invece token AuthSub speciali che gli consentono di agire per conto di un determinato utente.

Ecco una breve panoramica di ciò che accade durante il processo di autenticazione per un client JavaScript basato sul web:

  1. L'applicazione client chiama il metodo google.accounts.user.login() fornito dalla libreria client, passando un valore "scope" che indica quale servizio Google utilizzare. Per Blogger, l'ambito è "http://www.blogger.com/feeds/".
  2. La libreria client invia il browser all'interfaccia "Richiesta" in cui l'utente può inserire le proprie credenziali per accedere il servizio.
  3. Se l'utente esegue l'accesso, il sistema AuthSub invia la richiesta il browser all'URL del client web, in modo da trasmettere i dati di autenticazione di accesso.
  4. La libreria client JavaScript memorizza il token in un cookie e restituisce il controllo alla funzione dell'applicazione client che ha chiamato google.accounts.user.login().
  5. Quando l'applicazione client chiama successivamente metodi della libreria client che interagire con Blogger, la libreria client collega automaticamente il token per tutte le richieste.

Nota: affinché la libreria client JavaScript possa effettuare richieste di Blogger autenticate in un browser web, la pagina deve contenere un'immagine ospitata nello stesso dominio della pagina. Può essere qualsiasi immagine, anche un'immagine trasparente con un solo pixel, ma deve essere presente un'immagine nella pagina. Se vuoi che l'immagine non venga visualizzata sulla tua pagina, puoi usare style del tag <img> per posizionare l'immagine all'esterno nell'area di rendering. Ad esempio: style="position:absolute; top: -1000px;"

Ecco il codice applicazione client che gestisce l'accesso. Chiameremo la funzione setupMyService() da altro codice in un secondo momento.

function logMeIn() {
  scope = "http://www.blogger.com/feeds/";
  var token = google.accounts.user.login(scope);
}

function setupMyService() {
  var myService =
    new google.gdata.blogger.BloggerService('exampleCo-exampleApp-1');
  logMeIn();
  return myService;
}

Suggerimento: ti consigliamo vivamente di fornire un pulsante di accesso o un altro meccanismo di input utente per chiedere all'utente di avviare manualmente la procedura di accesso. Se, invece, chiami google.accounts.user.login() immediatamente dopo il caricamento, senza aspettare l'interazione dell'utente, la prima cosa che l'utente vedrà al suo arrivo sulla tua pagina sarà una pagina di accesso a Google. Se l'utente decide di non accedere, Google non lo reindirizza alla tua pagina. Dal punto di vista dell'utente, ha provato a visitare la tua pagina, ma è stato reindirizzato altrove e non è mai tornato indietro. Questo scenario creare confusione e frustrazione per gli utenti. Nel codice di esempio di questo documento, chiameremo google.accounts.user.login() subito dopo il caricamento per semplificare l'esempio, ma sconsigliamo questo approccio per le applicazioni client reali.

Tieni presente che non devi fare nulla con la variabile token; la libreria client tiene traccia del token, quindi non devi farlo.

Nota: quando crei un nuovo servizio BloggerService, , la libreria client chiama un metodo denominato google.gdata.client.init(), che verifica che il browser in esecuzione è supportata. Se si verifica un errore, la libreria client visualizza un messaggio di errore all'utente. Se vuoi gestire autonomamente questo tipo di errore, puoi chiamare esplicitamente google.gdata.client.init(handleInitError) prima di creare il servizio, dove handleInitError() è la tua funzione. Se si verifica un errore di inizializzazione , la funzione riceve un oggetto Error standard; puoi fare qualsiasi cosa che vuoi ottenere con quell'oggetto.

Il token rimane valido finché non lo revochi chiamando google.accounts.user.logout():

function logMeOut() {
  google.accounts.user.logout();
}

Se non chiami logout(), il cookie che memorizza il token dura due anni, a meno che l'utente non lo elimini. Il cookie viene conservato tra le sessioni del browser, quindi l'utente può chiudere il browser, riaprirlo e tornare al tuo client senza dover effettuare nuovamente l'accesso.

Tuttavia, esistono alcune circostanze insolite in cui un token può non valido durante una sessione. Se Blogger rifiuta un token, il client deve gestire la condizione di errore chiamando logout() per rimuovere il cookie contenente il token corrente e chiamando di nuovo login() per acquisire un nuovo token valido.

Esistono altri due metodi AuthSub che potresti trovare utili in vari contesti:

  • google.accounts.user.checkLogin(scope) ti indica se il browser abbia un token di autenticazione per la data l'ambito di attività.
  • google.accounts.user.getInfo() fornisce informazioni dettagliate sul token corrente, per l'uso per il debug.

Per informazioni dettagliate sull'utilizzo di JavaScript per interagire con AuthSub, incluse informazioni sulla gestione dei token e su checkLogin() e getInfo(), consulta il documento Utilizzare l'autenticazione "AuthSub" con la libreria client JavaScript.

Torna all'inizio