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

7

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

    
задан burli 07.02.2011 в 16:51
источник

2 ответа

12

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

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

Данные ваших контактов хранятся в Ubuntu One, а также синхронизируются с вашим рабочим столом. Данные контактов доступны в системе хранения desktopcouch . Вы можете узнать больше о 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 или вы хотите напрямую получить доступ к данным в Ubuntu One

Ваши данные хранятся в вашем собственном личном CouchDB в облаке в Ubuntu One, а также в desktopcouch на вашем рабочем столе Ubuntu. Вы можете получить доступ к нему прямо в своем личном облаке, если захотите. Для этого вам нужно быть знакомым с OAuth. Сначала получите токен OAuth для Ubuntu One; вы можете сделать это с рабочего стола Ubuntu, глядя в брелок. Затем OAuth подписывает запрос на Ссылка , которая вернет некоторый JSON, включая ваш «couchdb_root», который будет выглядеть как < a href="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! Эта статья Ars Technica объясняет некоторые из чтобы сделать это, и команда Tomboy - прекрасные люди, которые будут рады помочь.

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

    
ответ дан sil 07.02.2011 в 18:25
источник
0

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

    
ответ дан ddimmich 05.10.2012 в 15:25
источник

Ознакомьтесь с другими вопросами по меткам