Question

I look for an example of PHP code to retrieve the text of a note on the Evernote server.

So far, I only found trivial examples listing the notebooks, and helping to get authenticated. But all the references are for Java and not for PHP, and nothing lists the notes self.

I understand I have to use the function findNotesMetaData but I don't understand what to specify as fourth argument.

I need some help to get further. I don't know enough Java to understand the equivalent statement in PHP. Thanks in advance.

Pierre

Was it helpful?

Solution

You can't get note contents with findNotesMetaData. Here's simple code snippet for getting notes (also refer to the sample on github to know how to get token with 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);

You can see more details about searching notes here.

OTHER TIPS

On github there is PHP Evernote API SDK

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

Not PHP, but the perl answer for this is as follows:

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: $@";

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']);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top