如何通过OAuth授权后在Evernote中获取有关用户的信息?

时间:2012-11-29 06:09:29

标签: php authentication oauth authorization evernote

  

可能重复:
  How to get information about a user in Evernote after authorization through OAutth?

我通过php上的Evernote进行网络服务授权(使用OAuth doc:http://dev.evernote.com/documentation/cloud/chapters/Authentication.php),但我无法弄清楚如何通过userid获取有关用户的信息(email。用户名,全名) 。

一步一步行动(示例)

第1步 示例临时凭证请求:

https://sandbox.evernote.com/oauth?oauth_consumer_key=en_oauth_test&oauth_signature=1ca0956605acc4f2%26&oauth_signature_method=PLAINTEXT&oauth_timestamp=1288364369&oauth_nonce=d3d9446802a44259&oauth_callback=https%3A%2F%2Ffoo.com%2Fsettings%2Findex.php%3Faction%3DoauthCallback

我得到回应

oauth_token=en_oauth_test.12BF8802654.687474703A2F2F6C6F63616C686F73742F7E736574682F4544414D576562546573742F696E6465782E7068703F616374696F6E3D63616C6C6261636B.1FFF88DC670B03799613E5AC956B6E6D&oauth_token_secret=&oauth_callback_confirmed=true

第2步

将用户重定向到Evernote授权

https://www.evernote.com/OAuth.action?oauth_token=en_oauth_test.12BF8802654.687474703A2F2F6C6F63616C686F73742F7E736574682F4544414D576562546573742F696E6465782E7068703F616374696F6E3D63616C6C6261636B.1FFF88DC670B03799613E5AC956B6E6D

如果用户可以获取我的应用程序数据配置文件Evernote将用户重定向到我的回调URL

https://example.com/auth/index.php?action=oauthCallback&oauth_token=en_oauth_test.12BF88D95B9.687474703A2F2F6C6F63616C686F73742F7E736574682F4544414D576562546573742F696E6465782E7068703F616374696F6E3D63616C6C6261636B.AEDE24F1FAFD67D267E78D27D14F01D3&oauth_verifier=0D6A636CD623302F8D69DBB8DF76D86E

第3步

我有oauth_token和verifier令牌,我为示例令牌凭据请求创建查询:

https://sandbox.evernote.com/oauth?oauth_consumer_key=en_oauth_test&oauth_signature=1ca0956605acc4f2%26&oauth_signature_method=PLAINTEXT&oauth_timestamp=1288364923&oauth_nonce=755d38e6d163e820&oauth_token=en_oauth_test.12BF8888B3F.687474703A2F2F6C6F63616C686F73742F7E736574682F4544414D576562546573742F696E6465782E7068703F616374696F6E3D63616C6C6261636B.C3118B25D0F89531A375382BEEEDD421&oauth_verifier=DF427565AF5473BBE3D85D54FB4D63A4

示例令牌凭据响应

oauth_token=S%3Ds4%3AU%3Da1%3AE%3D12bfd68c6b6%3AC%3D12bf8426ab8%3AP%3D7%3AA%3Den_oauth_test%3AH%3D3df9cf6c0d7bc410824c80231e64dbe1&oauth_token_secret=&edam_noteStoreUrl=https%3A%2F%2Fsandbox.evernote.com%2Fedam%2Fnote%2Fshard%2Fs4&edam_userId=161

在此示例中,OAuth令牌凭据标识符为:

S=s4:U=a1:E=12bfd68c6b6:C=12bf8426ab8:P=7:A=en_oauth_test:H=3df9cf6c0d7bc410824c80231e64dbe1

我有用户ID & edam_userId = 161

如何通过令牌访问和usreid检索用户个人资料?

有人可以提供帮助。

P.S。对不起我的英语不好。才开始教学

1 个答案:

答案 0 :(得分:2)

您可以致电UserStore.getUser(accessToken)获取有关该用户的一些信息,包括其全名。您将无法检索他们的私人电子邮件地址。