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

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

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

2 ответа

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

0
ответ дан 10 October 2011 в 20:30

Существует несколько разных способов работы с данными 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 Один, а также в desktopcouch на вашем рабочем столе Ubuntu. Вы можете получить к нему доступ непосредственно в своем личном облаке, если вы выберете. Для этого вам нужно быть знакомым с OAuth. Сначала получите токен OAuth для Ubuntu One; Вы можете сделать это с рабочего стола Ubuntu, посмотрев в связку ключей. Затем OAuth подписывает запрос к https://one.ubuntu.com/api/account/ , который возвращает некоторый JSON, включая ваш «couchdb_root», который будет выглядеть как https: // couchdb.one.ubuntu.com/u/abc/efg/12345.

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

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

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

0
ответ дан 10 October 2011 в 20:30

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

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