2011-05-22 43 views
15

Firefox 4將書籤和其他設置同步到由mozilla運行的主機。如何在不使用Firefox的情況下訪問Firefox Sync書籤

  • 我如何有訪問我的書籤(不火狐)?
  • 是否有記錄的API?

看來https://developer.mozilla.org/en/Firefox_Sync應該包含neccessary文檔,但除了第一點到空頁的所有鏈接。

我發現了一個叫weave.py這裏https://github.com/mozilla/weaveclient-python/blob/master/weave.py腳本應該能夠訪問這些書籤但無法使用我的憑據。它似乎期待沒有「@」字符的用戶名。

有沒有關於如何訪問Firefox同步數據的任何文檔。最好用例子。

現在,我甚至不知道的入口點這個所謂的Web服務。

當我去https://services.mozilla.com/我可以改變我的密碼,並刪除可能的一切。

回答

6

如果你看一下https://wiki.mozilla.org/Services/Sync,我認爲這是你想要的文件。更多細節在https://wiki.mozilla.org/Labs/Weave/Sync/1.1/API

+0

感謝您的第一個Url。我沒有自己找到。關於第二個網址:您確定Firefox使用Weave Sync API的版本1.1嗎?記錄在哪裏?發行說明沒有提到一個版本。不管怎麼說,你碰巧也知道該API的入口URL? – 2011-05-22 18:15:35

+1

好點:我還沒有真正使用過這個版本,但我曾假設他們已經改用了這個版本。在https://wiki.mozilla.org/Labs/Weave/Sync/1.0/API有一個1.0 api:它必須是其中的一個,除非他們還有另一個他們使用的未公開的API。 – Femi 2011-05-22 18:16:32

+0

當我使用Firefox 4創建同步帳戶時,我必須使用電子郵件地址。沒有辦法輸入沒有「@」符號的用戶名。但是,如果我在URL中使用該電子郵件地址,服務器總是會給我一個錯誤的請求響應。這應該如何工作? – 2011-05-22 18:31:01

5

確實,用戶名是sha1 + base32。 Python代碼:

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

通過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(); 
} 
相關問題