UbuntuOneを自分のPythonアプリケーションで使用したい。連絡先にアクセスして他のデータを保存したい。しかし、ドキュメントや(Python)の例を見つけることができなかった。
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に質問を投稿してください!
Osxで実行されるサンプルコードを確認したい場合(クロスプラットフォームですが)を参照してください https://github.com/ddimmich/unbuntuone-python/ -このubuntuからのファイルのダウンロード/更新1つで、oauthなどを使用します。まだ初期段階ですが、oauthプロセスを示し、アクセストークンを保存し、ファイルを喜んでダウンロードします。