web-dev-qa-db-ja.com

PythonでUbuntuOneの連絡先とメモにアクセスするにはどうすればよいですか?

UbuntuOneを自分のPythonアプリケーションで使用したい。連絡先にアクセスして他のデータを保存したい。しかし、ドキュメントや(Python)の例を見つけることができなかった。

7
burli

Ubuntu Oneのデータを操作するにはさまざまな方法があります。喜んでお聞きします。

PythonアプリケーションがUbuntuで実行されている場合

連絡先データはUbuntu Oneに保存され、デスクトップにも同期されます。連絡先データは、desktopcouchストレージシステムで利用できます。 desktopcouchの詳細については、 ドキュメントで をご覧ください。 Ubuntu Oneアプリ開発者プログラムの一環として、今後数か月の間にさらに多くの情報が利用可能になります。

簡単な要約:desktopcouchは、Ubuntuデスクトップで実行される個人用のCouchDBであり、連絡先はそこに保存されます。したがって、desktopcouch.recordsライブラリを使用して、連絡先にアクセスできます。

from desktopcouch.records.server import CouchDatabase
CONTACT_RECORD_TYPE = 'http://www.freedesktop.org/wiki/Specifications/desktopcouch/contact'
db=CouchDatabase('contacts')
contact_names = []
for row in db.get_records(record_type=CONTACT_RECORD_TYPE):
    first_name = row.value.get('first_name', '')
    last_name = row.value.get('last_name', '')
    contact_names.append('%s %s' % (first_name, last_name))
print contact_names

desktopcouchドキュメントページ には、desktopcouchデータの操作方法の例がさらにあります。連絡先のデータ形式は ここで定義 です。

Desktopcouchで好きな他のデータベースを作成できます。単にやる

db = CouchDatabase("my_new_db", create=True)

そして、そのデータベースを操作します。新しいデータベースはパーソナルクラウドとすべてのマシンに同期され、必要なデータを保存できます。

PythonアプリケーションがUbuntuで実行されていない場合、またはUbuntu Oneのデータに直接アクセスしたい場合

データは、Ubuntuデスクトップのdesktopcouchと同様に、Ubuntu Oneのクラウド内の個人のCouchDBに保存されます。必要に応じて、パーソナルクラウドで直接アクセスできます。このためにOAuthに精通する必要があります。最初に、Ubuntu OneのOAuthトークンを取得します。次に、OAuthへのリクエストに署名します https://one.ubuntu.com/api/account/ これにより、 " https://couchdb.one.ubuntu.com/u/abc/efg/12345 のようになります。

パーソナルクラウドの連絡先データベースは、 https://couchdb.one.ubuntu.com/u%2Fabc%2Fefg%2F12345%2Fcontacts で利用できます。 /は%2Fにエスケープされました)。これで、CouchDBへのcurlリクエストにOAuth署名することで、これをCouchDBと同様に使用できます。 CouchDBガイド HTTPを介したCouchDBの操作方法について説明しています。

メモの操作はもう少し複雑です。メモの主な保管場所はTomboyアプリケーションです。 TomboyはノートをUbuntu Oneに同期し、パーソナルクラウドCouchDB(「notes」と呼ばれるデータベース)で利用できます。また、「notes」DBもdesktopcouchに同期されます。ただし、アプリケーションがUbuntuデスクトップで実行されている場合、デスクトップソファのコピーを編集してそれらの変更が同期されるのを待つのではなく、ソースで直接ノートを操作するためにTomboyの包括的なD-Bus APIを使用することをお勧めしますUbuntu Oneに、そして再びTomboyに! このArs Technicaの記事 はその方法の一部を説明しており、おてんば娘チームは支援を熱望する素敵な人々です。

私たち(Ubuntu One)は、この種の質問への回答をさらに簡単にし、ガイダンスとドキュメントを提供するために、アプリケーション開発者プログラムを構築しています。あなたが何をしようとしているか、どうすればもっと簡単にできるか聞きたいので、私に一言お願いします(stuart.langridge @ canonical.com、または http:// kryogenix。 org/contact )お手伝いできる場合、またはaskubuntuに質問を投稿してください!

12
sil

Osxで実行されるサンプルコードを確認したい場合(クロスプラットフォームですが)を参照してください https://github.com/ddimmich/unbuntuone-python/ -このubuntuからのファイルのダウンロード/更新1つで、oauthなどを使用します。まだ初期段階ですが、oauthプロセスを示し、アクセストークンを保存し、ファイルを喜んでダウンロードします。

0
ddimmich