Pierre François
Pierre François

Reputation: 6073

evernote api: example of php code to retrieve the text of a note

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

Upvotes: 2

Views: 2213

Answers (3)

cnd
cnd

Reputation: 1731

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']);

Upvotes: 0

kentaro
kentaro

Reputation: 1257

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.

Upvotes: 3

zavg
zavg

Reputation: 11081

On github there is PHP Evernote API SDK

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

Upvotes: 0

Related Questions