Я хочу использовать UbuntuOne в моем собственном приложении Python. Я хочу получить доступ к контактам и, возможно, хранить другие данные. Но я не мог найти никаких документов или (Python) примеров. Как я могу это использовать?
Существует несколько различных способов работы с вашими данными 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!
Если вы хотите увидеть пример кода, который работает в osx (хотя это кросс-платформа), см. https://github.com/ddimmich/unbuntuone-python/ - это загрузка / обновление файлов с ubuntu one и использование oauth и т. д. Его все еще на ранних стадиях, но он демонстрирует процесс oauth, сохраняет ваш токен доступа и, к счастью, загружает файлы.