Eye-Fi API Explorer

http://www.innovateus.net/innopedia/what-are-characteristic-features-imps
WITTY
LOYAL
PASSIONATE
RESTLESS

,\n\t+"attributes" : \{\},?[^"]+"line" : [^\n]+\n

,\n\t+"attributes" : \{[^}]*\}

,?\n?[^"\n]+"line" : [^\n]+\n

^\t+"(cxx|php|java)_name" : "[a-z]*",?\n

https://dev-staging.eye.fi/tools/rest/crypt.php?oauth_blowfish_hash=true
https://dev-staging.eye.fi/tools/rest/crypt.php?oauth_gpg=true
https://dev-staging.eye.fi/tools/rest/crypt.php?oauth_blowfish_hash=true&oauth_gpg=true

Nomenclature

W3C Method Definitions: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

https://api2.eye.fi/api/rest/2/users?_method=(add,get,update,update,delete,verify,…)

http://api2-bulk.eye.fi/api/rest/2/upload?_method=(query,chunk,finish)

http://api2-bulk.eye.fi/api/rest/2/upload/chunk

https://api2.eye.fi/api/rest/2/users/get
http://api2-bulk.eye.fi/api/rest/2/upload/chunk
http://bulk.eye.fi/api/rest/2/upload/chunk

https://api2.eye.fi/2/users/add:get:update:update:delete:verify:…
C PUT https://api2.eye.fi/2/users
R GET https://api2.eye.fi/2/users
U POST https://api2.eye.fi/2/users
D DELETE https://api2.eye.fi/2/users HEAD https://api2.eye.fi/2/users OPTIONS https://api2.eye.fi/2/users

http://bulk-api2.eye.fi/2/upload/query:chunk:finish
C PUT http://bulk-api2.eye.fi/2/upload/filename
R GET http://bulk-api2.eye.fi/2/upload/filename
U POST http://bulk-api2.eye.fi/2/upload/filename
D DELETE http://bulk-api2.eye.fi/2/upload/filename HEAD http://bulk-api2.eye.fi/2/upload/filename OPTIONS http://bulk-api2.eye.fi/2/upload/filename

Upload / Download

/upload/query
/upload/chunk
/upload/finish

/files

/transfer/query
/transfer/chunk
/transfer/finish

/transfer/file

Alternatives to set

box
collection
union
group
class
arrangment
catalog

API Generator

bin/api-generator -generate-php-server lib/idl/eyefi.idl
bin/api-generator -generate-php-client lib/idl/eyefi.idl
/Users/runeimp/Projects/Eye-Fi/server/work/bin/api-generator -generate-php-client /Users/runeimp/Projects/Eye-Fi/server/work/lib/idl/eyefi.idl

Generate PHP Client

/usr/share/eyefi/server/bin/api-generator -generate-php-client /usr/share/eyefi/server/lib/idl/eyefi.idl

cd /usr/share/eyefi/dev/lib/EyeFi
/usr/share/eyefi/server/bin/api-generator -generate-php-client /usr/share/eyefi/server/lib/idl/eyefi.idl

Perl Dump

bin/api-generator -dump lib/idl/eyefi.idl
/usr/share/eyefi/server/bin/api-generator -dump /usr/share/eyefi/server/lib/idl/eyefi.idl > /usr/share/eyefi/dev/api-explorer/eyefi.pl

cp /usr/share/eyefi/server/lib/idl/eyefi.idl /usr/share/eyefi/dev/api-explorer/

JSON Dump

bin/api-generator -dump-json lib/idl/eyefi.idl
/usr/share/eyefi/server/bin/api-generator -dump-json /usr/share/eyefi/server/lib/idl/eyefi.idl > /usr/share/eyefi/dev/api-explorer/eyefi.json
/usr/share/eyefi/server/bin/api-generator -dump=json /usr/share/eyefi/server/lib/idl/eyefi.idl > /usr/share/eyefi/dev/api-explorer/eyefi.json

cd /usr/share/eyefi/dev/include
/usr/share/eyefi/server/bin/api-generator -generate-php-client /usr/share/eyefi/server/lib/idl/eyefi.idl

git ci "Updated JSON now has account instead of users and updated PHP Clients."

ERROR (line 1240):  "Syntax error near services { on line 1240."

ERROR (line 2513):  "Syntax error near license[] get(); on line 2513."

bin/api-call -baseurl api-local.eye.fi auth.login -arg login=berend@eye.fi -arg password=dnereb11

bin/api-call -baseurl api2.eye.fi auth.login -arg login=berend@eye.fi -arg password=X

http://api2.eye.fi/api/rest/bulk/2.0/index.php?file_signature=673142e79e87907b410e648cecf2665c&size=160&method=download.get&file_id=2000000104

XMPP

php -r 'require_once("/usr/share/eyefi/server/lib/php/EyeFi/Xmpp/EyeFiXmppPublisher.php"); $publisher = new EyeFiXmppPublisher(); $publisher->setNode("events"); $publisher->setUserId(732330); $publisher->setMessageType("uploadstate"); $publisher->setContent(rand()); $publisher->publishToSubsribers();'

Manually limiting to

test.echo
auth.login
auth.logout
users.get
devices.get
sets.get

Manually map methods to PHP methods

test.echo

auth.login

Update HTML layout and CSS

Code Base

2d1f75a8c83818
ba3e309ac77e92
91f2150f7c8bb0

#	Checkout revision. Now in detached HEAD state. AKA no branch.
$ git checkout ba3e309ac77e92
#	Attache HEAD to new temp branch
$ git checkout -b temp
#	Merge temp with dev.eye.fi branch
$ git branch -f dev.eye.fi temp
#	Start working on dev.eye.fi
$ git checkout dev.eye.fi
#	Delete temp branch
$ git branch -d temp

API PHP Client via Subversion

https://services.eye.fi/svn/server
https://services.eye.fi/svn/server/branches/server2
svn checkout https://services.eye.fi/svn/server/branches/server2/lib/php/EyeFi/Client php_client

Eye-Fi API Keys

https://api2.eye.fi/sarlacc/api_keys.php

lib/php/EyeFi/Api/Api.php
	const KEY_OPTIONS_CREATE_ACCOUNT = 0x1;
	const KEY_OPTIONS_THROTTLE_UPLOADS_25 = 0x2;
	const KEY_OPTIONS_DONT_CHECK_CALLID = 0x4;
	const KEY_OPTIONS_THROTTLE_CALLS_BY_KEY = 0x08;
	const KEY_OPTIONS_THROTTLE_CALLS_BY_TOKEN = 0x10;
	const KEY_OPTIONS_COLLECT_USAGE_STATISTICS = 0x20;
	const KEY_OPTIONS_MANUFACTURING_ACCESS = 0x40;

Other Examples

Flickr API Explorer

Facebook Graph API Explorer

Access Token

AAACEdEose0cBADbntNngB7XZBDu68WGC1CAxRC4844x3ZBxAGroplxw6gqbi0gqwBfZCqJVGJtbZBonvjYoxjpGjrc4MddVsFwG52o9atgZDZD

Twitter

Request URI

https://api.twitter.com/1/

Consumer Key

pYUVNkswgG7uJ48Hbauduw

Consumer Secret

ssIX1cLbgM9KFnOmFv5UPwaM1I3SD82UHFr7h8M

Access Token

15252623-WDwli8Lnb27ATnW6Og4ZGSay8Or4nGZZ2DXffmGuH

Access Secret

kfDX53MiHjytJcxgRuYtGNKkdBPdIehNDIYDG5aEs

RuneImpOAuthExample

https://dev.twitter.com/apps/2211015/show

Web Console

Excellent tool created by apigee.

Native App Console

Nice. But not obvious you need to hit enter on the address bar to initiat the call.

Twurl

Enhanced version of curl for accessing the Twitter API.

Etsy Developer Sandbox

Etsy Deverlopers
API Documentation
Developer Sandbox

Production Endpoint: http://openapi.etsy.com/v2
Sandbox Endpoint: http://sandbox.openapi.etsy.com/v2