【问题标题】:How to access Firefox Sync bookmarks without Firefox如何在没有 Firefox 的情况下访问 Firefox Sync 书签
【发布时间】:2011-05-22 15:14:49
【问题描述】:

Firefox 4 将书签和其他设置同步到由 mozilla 运行的主机。

  • 如何在那里访问我的书签(不使用 Firefox)?
  • 是否有记录在案的 API?

似乎https://developer.mozilla.org/en/Firefox_Sync 应该包含必要的文档,但除了第一个链接之外的所有链接都指向空页面。

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

是否有任何关于如何访问 Firefox 同步数据的文档。最好有例子。

现在我什至不知道这个所谓的网络服务的入口点。

当我转到https://services.mozilla.com/ 时,我可以更改我的密码并大概删除所有内容。

【问题讨论】:

    标签: api firefox sync


    【解决方案1】:

    如果您查看https://wiki.mozilla.org/Services/Sync,我认为这就是您想要的文档。更多详情请访问https://wiki.mozilla.org/Labs/Weave/Sync/1.1/API

    【讨论】:

    • 感谢第一个网址。我自己没有找到。关于第二个 URL:您确定 Firefox 使用 1.1 版的 Weave Sync API 吗?这是在哪里记录的?发行说明没有提到版本。反正。您是否也知道该 API 的入口 URL?
    • 好点:我实际上没有使用过那个版本,但我假设他们已经切换到那个版本。 wiki.mozilla.org/Labs/Weave/Sync/1.0/API 有一个 1.0 api:它必须是其中之一,除非他们使用另一个未记录的 API。
    • 当我使用 Firefox 4 创建同步帐户时,我必须使用电子邮件地址。没有“@”符号就无法输入用户名。但是,如果我在 URL 中使用该电子邮件地址,服务器总是会给我一个错误的请求响应。这应该如何工作?
    • 不确定。我假设 url 编码或 base64 之类的。
    • 我得到了 Tarek Ziadé 的答复。他说它的sha-base32-ed。我会试试的。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      ID.get("WeaveID").username 返回的 WeaveID 确实是 SHA-1 散列和 base32 编码的。 在 Java 中执行此操作的一个好方法是使用 Apache Commons Codec,它从 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();
      }
      

      【讨论】:

        猜你喜欢
        • 2019-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-21
        • 2012-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多