O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Getting Connected with the ORCID API (A. Wrigley)

488 visualizações

Publicada em

Presentation at the 2016 ORCID Kyushu Workshop (22 June)

Publicada em: Educação
  • Login to see the comments

Getting Connected with the ORCID API (A. Wrigley)

  1. 1. orcid.orgContact Info: p. +1-301-922-9062 a. 10411 Motor City Drive, Suite 750, Bethesda, MD 20817 USA Getting connected with the ORCID API Alainna Therese Wrigley ORCID Community Engagement & Support support@orcid.org | orcid.org/0000-0002-6036-0903
  2. 2. ORCID provides 2orcid.org Persistent digital identifiers to distinguish researchers from each other Member-built integrations that connect researchers and their activities/affiliations A hub for synchronizing machine-readable connections between identifiers for people, organizations, and research activities ✔ Plumbing for research information ✔ Tools to build trust in digital information
  3. 3. 3 Organizations are use ORCID APIs to authenticate, collect, display, and connect persistent identifiers for people, places, and things in research workflows ORCID enables assertions
  4. 4. orcid.org 4 The other things that need to happen • Communications • Roll-out timing • Encouraging use …are as important and can be much harder than using the API Let’s not get ahead of ourselves...
  5. 5. orcid.org 5 API (Application Programming Interface): an interface that lets one software program “talk” with another, exchanging data behind the scenes. What is an API?
  6. 6. orcid.org 6 • Permissions/scopes: your contract with the user • ORCID message (schema): format of the data exchanged • OAuth calls – the permission protocol: how you “execute the contract” • ORCID-specific calls: providing & receiving information with the registry The ORCID API in a nutshell PHOTO: 3/2 nuts © M.G. Kafkas https://flic.kr/p/4XytpS
  7. 7. orcid.org 7 ORCID Public and Member APIs API Features Public API Freely available to anyone • Authenticate: Get a user’s authenticated ORCID iD • Read (Public): Search/retrieve public data • Create: Facilitate creation of new ORCID records (via on-demand process) Member API ORCID member organizations (Sandbox test environment freely available to anyone) • Read (Limited): Search/retrieve "limited-access" data • Add: Post new items to a record • Update: Edit or delete items you previously added • Webhooks (Premium only): Receive notifications of updates
  8. 8. orcid.org 8 Connecting to the ORCID Registry Two models: 1. Connect via a vendor system • Manuscript submission/publication • Document/data repositories • Profile systems • CRIS systems 2. Develop a custom connection
  9. 9. orcid.org 9 Custom integration Via the ORCID APIs • Fine-tuned control and permissions • Customized buttons, user flows, & user feedback Current integration list: http://members.orcid.org/current-integrations
  10. 10. orcid.org 10 Vendor system integration Publishing • eJournal Press • Editorial Manager • ScholarOne Document / data repositories • DSpace • ePrints • Hydra/Fedora CRIS Systems • Converis • Elements • IRMA • Pivot • PlumX • Pure • Vivo http://members.orcid.org/orcid-enabled-systems
  11. 11. 29 June 2016 orcid.org 11
  12. 12. Collect & Connect goals • Clarify how plumbing works • Standardize experience • Standard connection installation guidelines • Increase predictability and trust in the “utility” • Community approach to reliable connections 29 June 2016 orcid.org 12
  13. 13. Collect & Connect 29 June 2016 orcid.org 13 Collect Display Connect SynchAuthenticate!
  14. 14. Collect COLLECT validated ORCID iDs for individuals • Explain what ORCID is • Explain why you’re collecting iDs • Consistent user experience • Authenticated connections 29 June 2016 orcid.org 14 Ensure individuals are correctly connected with your institution Converis, Pure, Symplectic Elements, VIVO use the OAuth process
  15. 15. Display 29 June 2016 orcid.org 15 DISPLAY iDs on your website, platform, systems • iDs shown as a link • iDs in metadata • Use the ORCID Member logo • Explain why iDs are collected Signal that your systems are plumbed to support ORCID iDs http://orcid.org/trademark-and-id-display-guidelines
  16. 16. Connect 29 June 2016 orcid.org 16 CONNECT your data to ORCID Records • Request permission to write to Records • Store long-lived tokens • Add data that you uniquely can (authoritative) • Explain the connection Enable researchers to provide validated data to others https://orcid.org/blog/2015/10/26/auto-update-has-arrived-orcid-records-move-next-level
  17. 17. Synchronize 29 June 2016 orcid.org 17 SYNCHRONIZE with your systems • Update information when it changes • Auto-add new information • Search & link wizards • Sync data from others Saved time, better reporting, improved information flow https://members.orcid.org/api/tutorial-webhooks https://orcid.org/blog/2015/10/26/auto-update-has-arrived-orcid-records-move-next-level
  18. 18. 29 June 2016 18 DISPLAY • In metadata • On sites • In publications CONNECT • Affiliations (employers) • Works (publishers) • Awards (funders) orcid.org Collect & Connect flow
  19. 19. Get permission, use permission ORCID Record Yes! Do you have permission to do what you want to do? Get the permission; store iD and “token” Read the record or update the record No OAuth 29 June 2016 19orcid.org
  20. 20. PHOTO: Job Meeting www.flickr.com/photos/jobmeeting/14375164286 Involving the user orcid.org Key benefits: • You know the user controls the iD • User knows what’s going on/ user choice • Privacy/ data control trends • Position/ strengthen your system as a service How? • Just a “fancy” URL • Prior iD not needed • Hard things: promotion, finding touch points
  21. 21. Get permission: touch points Look for natural fits: • Your sign in – why not link your iD? • Your account settings/ user profile • Submission (of any type) • Form fills: pre-fill from your Record! • Registration: for conference or meeting • Reporting: Link your iD to get started
  22. 22. Step 1: fancy URL https://sandbox.orcid.org/oauth/authorize? client_id=APP-XT8FBKJRO3MR8WDR& response_type=code& scope=/orcid-profile/read-limited%20 /activities/update& redirect_uri=https://my.URL.org& family_names=Researcher&given_names=Bob& email=bobresearcher@mailinator.com& orcid=0000-0001-6356-0580 The base URL – displays the screen who’s asking? what permission? where the user goes next Personalize the experience The OAuth call: part I
  23. 23. Step 2: User feedback & Auth code The magic code ORCID sends the user to your redirect, with a code https://my.URL.org?htA3yE you... • Save the code – you need it for the next step • Display something useful to the user • Authorize: thanks for your permission! • Deny: are you sure you don’t want to give permission?
  24. 24. Step 3a: Change code into token Use the code to gain access using the ORCID API https://api.orcid.org/oauth/token HEADER: accept:application/json DATA: client_id=APP-XT8FBKJRO3MR8WDR client_secret=e285575c-4794-464b-a807-6f1c06b63 grant_type=authorization_code code=htA3yE redirect_uri=https%3A%2F%2Fmy.URL.org our API calls always looks like URLs (RESTful) what format? The magic code confirming that you are the right one to get this information
  25. 25. Step 3b: Store the result The result of the call "access_token”:"6710dfee-6aab-445b-a266-205dd9085273", "token_type” : "bearer", "expires_in” : 631138518, "scope” : "/orcid-profile/read-limited /activities/update", "orcid” : "0000-0001-6356-0580", "name” : "Bob Researcher" store the access token and iD when permission expires (in seconds) your permission – executed contract iD & name for the person who gave permission What you can do ✔ iD Collected!
  26. 26. You have the iD, now display it! iDs in profiles
  27. 27. Get permission, use permission ORCID Record Yes! Do you have permission to do what you want to do? Get the permission; store iD and “token” Read the record or update the record No OAuth 29 June 2016 27orcid.org
  28. 28. Connect to send data • Read data: GET • Add data: POST • Update data: PUT BASE URL: https://sandbox.api.orcid.org/v1.2/0000-0001-6356-0580/affiliations HEADERS: accept:application/json (reading) content-type:application/json Authorization: Bearer 6710dfee-6aab-445b-a266-205dd9085273 DATA (if adding or updating): the file location=@file_location_name Relevant area: /orcid-bio, /funding data format Access token from before
  29. 29. Send data in ORCID Schema
  30. 30. User sees new info on record
  31. 31. API in action: Create on demand http://orcid-create-on-demand.herokuapp.com
  32. 32. Where to go from here? • Membership http://orcid.org/about/membership • Collect and connect documentation https://members.orcid.org • ORCID API documentation https://members.orcid.org/api • ORCID API bootcamp (step-by-step introduction) https://github.com/alainna/VALA2016 • Technical webinars https://members.orcid.org/event-list • ORCID Community Engagement & Support team support@orcid.org