Api 如何在没有Firefox的情况下访问Firefox同步书签

Api 如何在没有Firefox的情况下访问Firefox同步书签,api,firefox,sync,Api,Firefox,Sync,Firefox4将书签和其他设置同步到mozilla运行的主机上 我如何访问那里的书签(没有Firefox) 是否有文档化的API 它似乎应该包含必要的文档,但除了第一个指向空页的链接之外,其他所有链接都应该包含 我在这里找到了一个名为weave.py的脚本,该脚本应该能够访问这些书签,但它无法使用我的凭据。它似乎期望用户名没有“@”字符 有没有关于如何访问Firefox同步数据的文档。最好是举例说明 现在我甚至不知道这个假定的web服务的入口点 当我转到时,我可以更改密码,并可能删除所有内

Firefox4将书签和其他设置同步到mozilla运行的主机上

  • 我如何访问那里的书签(没有Firefox)
  • 是否有文档化的API
它似乎应该包含必要的文档,但除了第一个指向空页的链接之外,其他所有链接都应该包含

我在这里找到了一个名为weave.py的脚本,该脚本应该能够访问这些书签,但它无法使用我的凭据。它似乎期望用户名没有“@”字符

有没有关于如何访问Firefox同步数据的文档。最好是举例说明

现在我甚至不知道这个假定的web服务的入口点


当我转到时,我可以更改密码,并可能删除所有内容。

如果你看一下,我想这就是你想要的文档。更多详细信息请访问。

确实,用户名是sha1+base32。Python代码:

import base64
import hashlib
base64.b32encode(hashlib.sha1('myemail@gmail.com').digest()).lower()

ID.get(“WeaveID”).username返回的WeaveID实际上是SHA-1哈希和base32编码的。
在Java中实现这一点的一个好方法是使用Apache Commons编解码器,该编解码器自1.5版起就包括Base32:

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();
}

谢谢你的第一个网址。这不是我自己发现的。关于第二个URL:你确定Firefox使用1.1版的Weave Sync API吗?记录在哪里?发行说明中没有提到版本。无论如何你也知道那个API的入口URL吗?好的一点:我还没有实际使用过那个版本,但我假设他们已经切换到了那个版本。有一个1.0 api在:它将必须是其中之一,除非他们还有另一个他们使用的未记录的api。当我创建一个与Firefox 4同步的帐户时,我必须使用一个电子邮件地址。如果没有“@”符号,则无法输入用户名。然而,如果我在URL中使用该电子邮件地址,服务器总是给我错误的请求响应。这是怎么回事?不确定。我假设是url编码或者base64之类的。我从Tarek Ziadé那里得到了答案。他说是sha-base32-ed,我试试看。