2011-05-22 15 views
15

Firefox 4 sincronizza i segnalibri e altre impostazioni su un host gestito da mozilla.Come accedere ai segnalibri di Firefox Sync senza Firefox

  • Come accedere ai miei segnalibri lì (senza Firefox)?
  • Esiste un'API documentata?

Sembra che https://developer.mozilla.org/en/Firefox_Sync dovrebbe contenere la documentazione necessaria, ma tutti i collegamenti tranne il primo punto di pagine vuote.

Ho trovato uno script chiamato weave.py qui https://github.com/mozilla/weaveclient-python/blob/master/weave.py che dovrebbe essere in grado di accedere a quei segnalibri ma non è in grado di utilizzare le mie credenziali. Sembra aspettarsi nomi utente senza caratteri "@".

C'è qualche documentazione là fuori su come accedere ai dati di sincronizzazione di Firefox. Preferibilmente con esempi.

In questo momento non conosco nemmeno il punto di ingresso di questo presunto servizio web.

Quando vado a https://services.mozilla.com/ Posso cambiare la mia password e presumibilmente rimuovere tutto.

risposta

6

Se si guarda https://wiki.mozilla.org/Services/Sync, penso che sia la documentazione che si desidera. Maggiori dettagli sono allo https://wiki.mozilla.org/Labs/Weave/Sync/1.1/API.

+0

Grazie per il primo URL. Non l'ho trovato da solo. Per quanto riguarda il secondo URL: sei sicuro che Firefox utilizzi la versione 1.1 dell'API di Weave Sync? Dove è documentato? Le note di rilascio non menzionano una versione. Ad ogni modo. Ti capita di conoscere anche l'URL di ingresso per tale API? –

+1

Buon punto: in realtà non ho usato quella versione, ma ho pensato che fossero passati a quello. C'è un api 1.0 a https://wiki.mozilla.org/Labs/Weave/Sync/1.0/API: dovrebbe essere uno di quelli, a meno che non abbiano ancora un'altra API non documentata che usano. – Femi

+0

Quando creo un account di sincronizzazione con Firefox 4 devo utilizzare un indirizzo email. Non c'è modo di inserire un nome utente senza un segno "@". Eppure il server mi dà sempre una risposta Bad Request se uso quell'indirizzo email nell'URL. Come dovrebbe funzionare? –

5

Infatti, il nome utente è sha1 + base32. codice Python:

import base64 
import hashlib 
base64.b32encode(hashlib.sha1('[email protected]').digest()).lower() 
0

Il WeaveID restituito da ID.get("WeaveID").username è infatti SHA-1 hash e base32 codificato. Un bel modo per fare questo in Java è quello di utilizzare Apache Commons Codec, che comprende Base32 a partire dalla versione 1.5:

public String getWeaveID(String email) throws UnsupportedEncodingException 
{ 
    byte[] sha = DigestUtils.sha(email.getBytes("UTF-8")); 
    Base32 b32 = new Base32(64, new byte[]{ }, false); 
    return b32.encodeToString(sha).toLowerCase(); 
} 
Problemi correlati