Evernote или виджет evernote и миниатюры

знаете ли вы метод или метод, используемый виджетом evernote для извлечения эскизов, которые мы видим очень удобным способом (до извлечения всей заметки) в основном интерфейсе или в виджете? Я видел метод публикации через http-запрос, но он кажется сложным, если не делиться заметками, и, возможно, есть более простые методы через прямой вызов API Evernote или через чтение файлов, хранящихся в приложениях?


person user2011788    schedule 15.06.2013    source источник


Ответы (2)


Виджет извлекает миниатюры из контент-провайдера приложения Evernote.

Что-то вроде этого должно работать.

В вашем манифесте:

<permission android:name="evernote.permission.READ_DATA" android:protectionLevel="normal" />

В вашем Java-коде:

final Uri AUTHORITY_URI = Uri.parse("content://com.evernote.evernoteprovider");
final Uri NOTE_URI = Uri.withAppendedPath(AUTHORITY_URI, "notes");

private FileDescriptor getNoteThumbnail(Context context, String noteGuid) throws FileNotFoundException {

    Uri thumbnailUri = NOTE_URI.buildUpon().appendEncodedPath(noteGuid).appendPath("thumbnail").appendPath("data").build();
    ContentResolver cr = context.getContentResolver();
    return cr.openFileDescriptor(thumbnailUri, "r").getFileDescriptor();

}
person tsmith    schedule 22.07.2013

Метод HTTP Post не слишком сложен. Я не знаком с Java, но это пример на python, который должен быть довольно простым для переноса на Android:

import requests

ACCESS_TOKEN="INSERT YOUR AUTH TOKEN OR DEV TOKEN HERE"

payload={'auth':ACCESS_TOKEN} #map auth token to param "auth"
r=requests.post('https://sandbox.evernote.com//shard/s1/thm/note/e679c010-d8b2-4644-9eag-56bd31c84be7.jpg?size=75',data=payload, stream=True)  #returns a binary of the picture type in header

f=open('thumbnail.jpg','wb') #open file for binary writing
f.write(r.content) #write binary contents of request to a file
f.close()  #close the file

Единственным параметром запроса POST является «auth», и он должен содержать ваш токен аутентификации (или токен разработчика). Остальная информация поступает из самого URL и имеет вид:

[domain].evernote.com/shard/[shard]/thm/note/[guid]

куда

[домен] — песочница (для песочницы) и www (для продакшена)

[shard] — это шард, на котором находится учетная запись (должно быть что-то вроде s1)

[guid] — руководство по блокноту

с необязательными параметрами, добавленными в конце .jpg, .gif, .bmp или .png, а также с необязательным параметром в конце URL-адреса ?size=[от 1 до 299] (по умолчанию квадрат 300 пикселей)

например, в песочнице с сегментом s1 обратите внимание на guid "e669c090-d8b2-4324-9eae-56bd31c64af7", чтобы вернуть jpg размером 150 пикселей, URL-адрес будет выглядеть так:

https://sandbox.evernote.com/shard/s1/thm/note/e669c090-d8b2-4324-9eae-56bd31c64af7.jpg?size=75
person matthewayne    schedule 22.07.2014