2011-05-22 15 views
15

Firefox 4 synchronizuje zakładki i inne ustawienia z hostem uruchomionym przez mozilla.Jak uzyskać dostęp do zakładek Firefox Sync bez Firefox

  • Jak uzyskać dostęp do moich zakładek (bez przeglądarki Firefox)?
  • Czy istnieje udokumentowany interfejs API?

Wygląda na to, że https://developer.mozilla.org/en/Firefox_Sync powinien zawierać niezbędną dokumentację, ale wszystkie linki, z wyjątkiem pierwszego punktu do pustych stron.

Znalazłem skrypt o nazwie weave.py tutaj https://github.com/mozilla/weaveclient-python/blob/master/weave.py, który powinien mieć dostęp do zakładek, ale nie może używać moich danych uwierzytelniających. Wygląda na to, że oczekuje się nazw użytkowników bez znaków "@".

Czy istnieje jakakolwiek dokumentacja dotycząca uzyskiwania dostępu do danych synchronizacji Firefoksa. Najlepiej z przykładami.

W tej chwili nie znam nawet punktu wejścia do tej rzekomej usługi internetowej.

Po przejściu na https://services.mozilla.com/ mogę zmienić hasło i prawdopodobnie usunąć wszystko.

Odpowiedz

6

Jeśli spojrzeć na https://wiki.mozilla.org/Services/Sync, myślę, że to dokumentacja, którą chcesz. Więcej szczegółów pod adresem https://wiki.mozilla.org/Labs/Weave/Sync/1.1/API.

+0

Dzięki za pierwszym URL. Nie znalazłem tego na własną rękę. Odnośnie drugiego adresu URL: czy na pewno Firefox używa wersji 1.1 interfejsu Weave Sync? Gdzie jest to udokumentowane? Uwagi do wydania nie wspominają o wersji. W każdym razie. Czy znasz również URL wpisu dla tego interfejsu API? –

+1

Dobra uwaga: nie używałem tej wersji, ale założyłem, że przeszli na to. Na stronie https://wiki.mozilla.org/Labs/Weave/Sync/1.0/API znajduje się api 1.0: musi to być jeden z nich, chyba że mają jeszcze inny nieudokumentowany interfejs API, z którego korzystają. – Femi

+0

Kiedy tworzę konto synchronizacji w Firefoksie 4, muszę użyć adresu e-mail. Nie można wprowadzić nazwy użytkownika bez znaku "@". Jednak serwer zawsze daje mi odpowiedź "Zły wniosek", jeśli użyję tego adresu e-mail w adresie URL. Jak to ma działać? –

5

Rzeczywiście, nazwa użytkownika to sha1 + base32. Kod pyton:

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

WeaveID zwrócony przez ID.get("WeaveID").username rzeczywiście jest SHA-1 zakodowanego i base32 zakodowane. Jest to dobry sposób, aby zrobić to w Javie jest użycie Apache Commons Codec, która obejmuje Base32 od wersji 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(); 
} 
Powiązane problemy