2013-05-07 2 views
2

Я искал пример PHP-кода для извлечения текста заметки на сервере Evernote.evernote api: пример php-кода для извлечения текста заметки

До сих пор я нашел только тривиальные примеры, перечисляющие ноутбуки, и помогающие пройти аутентификацию. Но все ссылки предназначены для Java, а не для PHP, и ничто не отображает сами записи.

Я понимаю, что мне нужно использовать функцию findNotesMetaData, но я не понимаю, что указать в качестве четвертого аргумента.

Мне нужна помощь, чтобы добраться дальше. Я не знаю достаточно Java, чтобы понять эквивалентный оператор в PHP. Заранее спасибо.

Пьер

ответ

3

Вы не можете получить к сведению содержание с findNotesMetaData. Вот простой фрагмент кода для получения заметок (также обратитесь к образцу на github, чтобы узнать, как получить токен с OAuth).

use EDAM\NoteStore\NoteFilter; 
use Evernote\Client; 
$client = new Client(array(
    'token' => $accessToken, 
    'sandbox' => true 
)); 
$filter = new NoteFilter(); 
$filter->words = "Evernote"; 
$notes = $client->getNoteStore()->findNotes($filter, 0, 10); 

Подробнее можно найти по запросу: here.

+0

Мне пришлось изменить строку «$ filter = new NoteFilter();» в "$ filter = new \ EDAM \ NoteStore \ NoteFilter();" чтобы получить его работу –

+0

Можно ли искать заметки по дате? –

+0

Возможно. Вы можете увидеть поисковый грамматик здесь: http://dev.evernote.com/documentation/cloud/chapters/search_grammar.php – kentaro

0

На GitHub есть PHP Evernote API SDK

https://github.com/evernote/evernote-sdk-php

+0

Действительно, это единственный пример, который я когда-либо найденных в Интернете, и это тривиальное я говорил. Нет ли другого фрагмента кода PHP в Evernote в Интернете? –

0

Не PHP, но Perl ответ на это следующим образом:

use strict; 
use Net::Evernote::Simple; 

my $evernote = Net::Evernote::Simple->new(
    # Obtain a developer token from Evernote and put it here 
    dev_token => 'YOUR DEV TOKEN HERE', 
); 

warn "Evernote API version out of date!\n" if(! $evernote->version_check()); # check if our client API version still works 

my $note_store = $evernote->note_store() or die "getting notestore failed: [email protected]"; 

my $notebooks = $note_store->listNotebooks($evernote->dev_token()) or die "oops:$!"; # retrieve all of our notebooks. See https://dev.evernote.com/doc/reference/ for other things you can do. 

for my $notebook (@$notebooks) { 
    print "evernote->note_store->listNotebooks: " . $notebook->guid() . "\t" . $notebook->name(), "\n"; 
    $arg{'guid'}=$notebook->guid() if($notebook->name() eq 'Some Notebook Name'); 
} 

my $tags = $note_store->listTags($evernote->dev_token()) or die "oops:$!"; 

for my $s (@$tags) { 
    print "evernote->note_store->listTags: " . $s->guid() . "\t" . $s->name(), "\n"; 
} 

use Data::Dumper; print Data::Dumper->Dump([ $notebooks ],['$notebooks']); 

my $srch = Net::Evernote::Simple::EDAMNoteStore::NoteFilter->new() or die "oops:$!"; 
$srch->notebookGuid($arg{'guid'}) or warn "hmm: $!"; 
# $srch->inactive(1); # set this to go through the trash 
print Data::Dumper->Dump([ $srch ],['$srch']); 

my $res=Net::Evernote::Simple::EDAMNoteStore::NotesMetadataResultSpec->new(); 
       # $authenticationToken, $filter, $offset, $maxNotes, $resultSpec); 
my $sr = $note_store->findNotesMetadata( $evernote->dev_token(), $srch, 0, 99999, $res) or die "oops:$!"; 

print Data::Dumper->Dump([ $res ],['$res']); 
print Data::Dumper->Dump([ $sr ],['$sr']); 

           #($authenticationToken, $guid, $withContent, $withResourcesData, $withResourcesRecognition, $withResourcesAlternateData); 
my $note = $note_store->getNote($evernote->dev_token(), 'some_note_GUID_here', 1, 1, 1, 1) or die "oops:$!"; 

print Data::Dumper->Dump([ $note ],['$note']); 

my $tags = $note_store->listTags($evernote->dev_token()) or die "oops:$!"; 

print Data::Dumper->Dump([ $tags ],['$tags']);