Как я могу получить доступ к контактам и заметкам UbuntuOne с помощью Python?

Я хочу использовать UbuntuOne в моем собственном приложении Python. Я хочу получить доступ к контактам и, возможно, хранить другие данные. Но я не мог найти никаких документов или (Python) примеров. Как я могу это использовать?

7
задан 10 October 2011 в 21:30

2 ответа

Существует несколько различных способов работы с вашими данными Ubuntu One. Вам будет приятно услышать.

Если ваше приложение Python запущено на Ubuntu

Ваши контакты данные хранятся в Ubuntu One, а также синхронизируются с вашим рабочим столом. Данные контактов доступны в системе хранения дескрипторов. Вы можете узнать больше о desktopcouch в документации. В течение следующих нескольких месяцев будет доступна дополнительная информация в рамках программы разработчика приложений Ubuntu One.

Краткий обзор: desktopcouch - это ваш собственный CouchDB, работающий на вашем рабочем столе Ubuntu, и ваши контакты хранятся в этом. Таким образом, вы можете использовать библиотеку 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; просто выполните

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

, а затем работайте с этой базой данных; ваша новая база данных будет синхронизирована с вашим персональным облаком и всеми вашими машинами, и вы можете хранить любые нужные им данные.

Если ваше приложение Python запущено на Ubuntu [ ! d12]

Ваши данные хранятся в вашем собственном личном CouchDB в облаке на Ubuntu One, а также в desktopcouch на вашем рабочем столе Ubuntu. Вы можете получить доступ к нему прямо в своем личном облаке, если захотите. Для этого вам нужно быть знакомым с OAuth. Сначала получите токен OAuth для Ubuntu One; вы можете сделать это с рабочего стола Ubuntu, глядя в брелок. Затем OAuth подписывает запрос , определенный здесь , который вернет некоторый JSON, включая ваш «couchdb_root», который будет выглядеть как https://couchdb.one.ubuntu.com/u/abc/efg/ +12345.

Ваша личная база данных облачных контактов затем доступна на странице https://couchdb.one.ubuntu.com/u/abc/efg/12345 (это ваш couchdb_root с «контактами») на конце, а / - в% 2F). Затем вы можете работать с этим, как с любым CouchDB by OAuth, подписывая ваши запросы на завивание. Руководство CouchDB объясняет, как работать с CouchDB через HTTP.

Работа с заметками немного сложнее: основным хранилищем заметок является приложение Tomboy. Tomboy будет синхронизировать ваши заметки с Ubuntu One, и они доступны в вашем личном облаке CouchDB (база данных, называемая «заметки»), и что «примечания» DB также синхронизируются с desktopcouch. Однако, если ваше приложение работает на рабочем столе Ubuntu, я бы рекомендовал вам использовать всеобъемлющий D-Bus API Tomboy для работы с вашими заметками прямо у источника, вместо того, чтобы редактировать копии desktopcouch и ждать, пока эти изменения будут синхронизированы к Ubuntu One, а затем снова к Tomboy! Руководство CouchDB объясняет некоторые из того, как это сделать, а команда Tomboy - прекрасные люди, которые будут рады помочь.

Мы (Ubuntu One) создаем разработчика приложений чтобы облегчить ответ на этот вопрос и дать указания и документацию; Мне бы хотелось услышать, что вы планируете делать, и как я могу сделать это проще для вас, поэтому, пожалуйста, напишите мне строку (stuart.langridge @ canonical.com или http://kryogenix.org/contact) если я могу помочь или задать больше вопросов для askubuntu!

12
ответ дан 25 May 2018 в 23:06
  • 1
    этот ответ по-прежнему действителен? Я думал, что настольная кушетка больше не используется в 12.04? – xubuntix 8 June 2012 в 17:39

Если вы хотите увидеть пример кода, который работает в osx (хотя это кросс-платформа), см. https://github.com/ddimmich/unbuntuone-python/ - это загрузка / обновление файлов с ubuntu one и использование oauth и т. д. Его все еще на ранних стадиях, но он демонстрирует процесс oauth, сохраняет ваш токен доступа и, к счастью, загружает файлы.

0
ответ дан 25 May 2018 в 23:06

Другие вопросы по тегам:

Похожие вопросы: