Знаете ли вы метод или метод, используемые виджетами evernote для получения эскизов, которые мы видим очень удобным способом (до получения всей заметки) в главном интерфейсе или в виджетах? Я видел метод post через http-запрос, но кажется сложным, когда вы не обмениваетесь заметками и, возможно, есть более простые методы с помощью прямого вызова API Evernote или чтения файлов, хранящихся приложением (-ами)?Виджет Evernote или evernote и миниатюры
ответ
Виджет вытягивает миниатюры из поставщика контента приложения 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();
}
Метод 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 является «аутентификации», и он должен содержать ваш маркер аутентификации (или dev). Остальная часть информации исходит от самого URL и имеет вида:
[domain].evernote.com/shard/[shard]/thm/note/[guid]
где
[домен] является песочница (для песочницы) и WWW (для производства)
[осколок ] является осколок счет на (должно быть что-то вроде s1)
[справ] является ноутбук Guid
с дополнительными параметрами приложенных в конце .jpg, .gif, .bmp или .png, а также необязательный параметр в конце URL-адреса. size = [от 1 до 299] (по умолчанию 300 пикселей)
например, на песочнице с осколком s1, note 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