Evernote Business API workshop

24
Julien Boëdec @boedec Partner Integrations Manager Evernote Business API Workshop

description

Evernote Business makes the ideas, research and expertise of your team easily discoverable, creating an open, productive and smarter workplace. This workshop will cover a walkthrough of the Evernote Business API and how we work with 3rd party integrations.

Transcript of Evernote Business API workshop

Page 1: Evernote Business API workshop

Julien Boëdec @boedecPartner Integrations Manager

Evernote Business API Workshop

Page 2: Evernote Business API workshop

#EC2013

Evernote Business API Workshop

1 - Understanding Evernote Business

2 - The Evernote API

3 - Code walkthroughs

4 - Partner showcase

Page 3: Evernote Business API workshop

#EC2013

Understanding Evernote Business

An extension of Evernote

Knowledge sharing and discovery

Data owned by the business

Works with all our core products (Evernote desktop, iOS, Android, Web Clipper...)

Page 4: Evernote Business API workshop

#EC2013

Understanding Evernote Business

Page 5: Evernote Business API workshop

#EC2013

The Evernote API

Our core product: The Evernote API is used for external developers and our internal apps alike. 12 Billion API calls are made every month!

Same functions: All the functionality available in Evernote (OCR, Files, Audio, etc)

Every platform: We have SDKs for almost every platform on Github.

Apache Thrift, not REST: We take care of the connection, just make calls to our SDK in your application

Page 6: Evernote Business API workshop

#EC2013

The Evernote API - Endpoints

ThriftThrift

User User StoreStore

Note Note StoreStoreNote Note StoreStoreNote Note StoreStoreNote Note StoreStoreNote Note StoreStoreNote Note StoreStore

https://www.evernote.com/shard/s1

Page 7: Evernote Business API workshop

#EC2013

The Evernote API - Endpoints

ThriftThrift

User User StoreStore

BusinessBusinessNote StoreNote Store

PersonalPersonalNote StoreNote Store

Page 8: Evernote Business API workshop

#EC2013

Code walkthroughs

Getting started - connecting to the business account

Creating a note

Searching for notes in the business

Working with notebooks

Related content

Provisioning API

Page 9: Evernote Business API workshop

#EC2013

Connecting to the business account# Get information about the user

ourUser = user_store.getUser(auth_token)

# Is the user part of a business?

if ourUser.businessUserInfo:

print "Business name: " + ourUser.businessUserInfo.businessName

# Connecting to the Evernote Business account

business_auth_result = user_store.authenticateToBusiness(auth_token)

business_auth_token = business_auth_result.authenticationToken

business_notestore_thttp_client = THttpClient.THttpClient(business_auth_result.noteStoreUrl)

business_notestore_protocol = TBinaryProtocol.TBinaryProtocol(business_notestore_thttp_client)

business_note_store = NoteStore.Client (business_notestore_protocol, business_notestore_protocol)

Page 10: Evernote Business API workshop

#EC2013

Creating a note# Creating a note

my_note = Types.Note()

my_note.title = "I'm a test note!"

my_note.notebookGuid = "8d382c0b-08f3-46a5-9356-bb28fb0f4eb6"

content = '<?xml version="1.0" encoding="UTF-8"?>'

content += '<!DOCTYPE en-note SYSTEM "http://xml.evernote.com/pub/enml2.dtd">'

content += "<en-note>I'm the body of a test note!</en-note>"

my_note.content = content

# Create a new note in the business notebook

# if modifying an existing Note, call updateNote here

my_note = business_note_store.createNote(business_auth_token, my_note)

print "New business note (GUID): %s" % my_note.guid

Page 11: Evernote Business API workshop

#EC2013

Searching for notes# Define the filter to search with

filter = NoteStore.NoteFilter()

filter.words = "EC3"

# Define the data the service should return

result_spec = NoteStore.NotesMetadataResultSpec ()

result_spec.includeTitle = True

# Search

notes_metadata = business_note_store.findNotesMetadata (business_auth_token, filter, 0, 50, result_spec)

# Scroll through the results

print notes_metadata.totalNotes

for note in notes_metadata.notes:

print note.title

Page 12: Evernote Business API workshop

#EC2013

Working with notebooks

Page 13: Evernote Business API workshop

#EC2013

Working with notebooks#Listing the notebooks a user has joined

linked_notebooks = note_store.listLinkedNotebooks(auth_token)

for lnb in linked_notebooks:

if lnb.businessId:

print lnb.shareName

# Listing the notebooks published to the business

published_notebooks = business_note_store.listPublishedBusinessNotebooks(business_auth_token)

for pnb in published_notebooks:

print pnb.name

Page 14: Evernote Business API workshop

#EC2013

Related Content

FindRelated()FindRelated()FindRelated()FindRelated()

Page 15: Evernote Business API workshop

#EC2013

Related Contentresult_query = NoteStore.RelatedQuery ()

result_query.plainText = "text content for searching related notes"

#result_query.filter

result_spec = NoteStore.RelatedResultSpec ()

result_spec.maxNotes = 3

result_spec.maxNotebooks = 2

result_spec.maxTags = 5

related_result = business_note_store.findRelated (business_auth_token, result_query, result_spec)

# Scroll through the resultsfor note in related_result.notes:

print note.title

#related_result.tags, related_result.notebooks

Page 16: Evernote Business API workshop

#EC2013

Provisioning API - Add / RemoveUserStore.inviteToBusiness(string authenticationToken, string emailAddress)

UserStore.removeFromBusiness(string authenticationToken, string emailAddress)

LDAP / ADLDAP / ADLDAP / ADLDAP / AD

Page 17: Evernote Business API workshop

#EC2013

Partner showcase

Azendoo

LiveMinutes

UberConference

Zapier

In house development: Ducati Motor

Page 18: Evernote Business API workshop

#EC2013

Partner showcase - Azendoo

Page 19: Evernote Business API workshop

#EC2013

Partner showcase - LiveMinutes

Page 20: Evernote Business API workshop

#EC2013

Partner showcase - UberConference

Page 21: Evernote Business API workshop

#EC2013

Partner showcase - Zapier

Page 22: Evernote Business API workshop

#EC2013

Partner showcase - Ducati Motor

Page 23: Evernote Business API workshop

#EC2013

Get Help

Documentation: dev.evernote.com

Developer forums

Follow us: @evernote_dev

Contact me: [email protected]

Page 24: Evernote Business API workshop

Thank you!

Julien Boëdec @boedecPartner Integrations Manager