2011-05-22 8 views
15

Firefox 4 sincroniza los marcadores y otras configuraciones en un host ejecutado por mozilla.Cómo acceder a favoritos de Firefox Sync sin Firefox

  • ¿Cómo accedo a mis marcadores allí (sin Firefox)?
  • ¿Hay una API documentada?

Parece que https://developer.mozilla.org/en/Firefox_Sync debe contener la documentación necesaria, pero todos los enlaces excepto el primer punto vacian las páginas.

Encontré un script llamado weave.py aquí https://github.com/mozilla/weaveclient-python/blob/master/weave.py que se supone que es capaz de acceder a esos marcadores, pero no puede usar mis credenciales. Parece esperar nombres de usuario sin "@" caracteres.

¿Hay alguna documentación sobre cómo acceder a los datos de sincronización de Firefox. Preferiblemente con ejemplos.

Ahora mismo no conozco el punto de entrada a este supuesto servicio web.

Cuando voy a https://services.mozilla.com/ puedo cambiar mi contraseña y presumiblemente eliminar todo.

Respuesta

6

Si mira https://wiki.mozilla.org/Services/Sync, creo que esa es la documentación que desea. Más detalles está en https://wiki.mozilla.org/Labs/Weave/Sync/1.1/API.

+0

Gracias por la primera URL. No lo encontré solo. Respecto a la segunda URL: ¿Estás seguro de que Firefox usa la versión 1.1 de la API Weave Sync? ¿Dónde está eso documentado? Las notas de la versión no mencionan una versión. De todos modos. ¿Por casualidad también conoce la URL de entrada para esa API? –

+1

Buen punto: en realidad no he usado esa versión, pero supuse que habían cambiado a eso. Hay una API de 1.0 en https://wiki.mozilla.org/Labs/Weave/Sync/1.0/API: tendría que ser una de ellas, a menos que tengan otra API no documentada que usen. – Femi

+0

Cuando creo una cuenta de sincronización con Firefox 4, tengo que usar una dirección de correo electrónico. No hay forma de ingresar un nombre de usuario sin un signo "@". Sin embargo, el servidor siempre me da una respuesta de solicitud incorrecta si uso esa dirección de correo electrónico en la URL. ¿Cómo se supone que esto funcione? –

5

De hecho, el nombre de usuario es sha1 + base32. código Python:

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

El WeaveID devuelto por ID.get("WeaveID").username es de hecho SHA-1 hash y base32 codificado. Una buena manera de hacer esto en Java es utilizar Apache Commons Codec, que incluye Base32 desde la versión 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(); 
} 
Cuestiones relacionadas