我构建了一个 FB 应用程序,它执行以下操作:
1) 将初始请求重定向到 FB,以便进行身份验证/登录,如下所示:
2)在servlet中,获取“code”参数(这是signed_request?):
String signedReq = request.getParameter("code");
// the String retrieved from the code parameter is:
//3DaDJXq1Mlsq67GbeudlUxu7bY5Um4hSJlwzoPCHhp4.eyJpdiI6Ikc1ODNuRjZXbnhCb0hUV1FEMVNTQUEifQ._iXKxSGiNHfc-i5fRO35ny6hZ03DcLwu4bpAkslqoZk6OfxW5Uo36HwhUH2Gwm2byPh5rVp2kKCNS6EoPEZJzsqdhZ_MhuUD8WGky1dx5J-qNOUqQK9uNM4HG4ziSgFaAV8mzMGeUeRo8KSL0tcKuq
block 引用>//This parameter contains '#_= _' at the end in the actual "code" but i am not able to get it through the request.getParameter("code");This is a java web app.
最佳答案
掌握此代码后,您可以继续执行下一步(应用程序身份验证),以获取进行 API 调用所需的访问 token 。
为了验证您的应用程序,您必须将授权代码和您的应用程序 key 传递到 Graph API token 端点 - 以及上面使用的完全相同的redirect_uri - https://graph.facebook.com/oauth/access_token。应用程序 key 可从开发者应用程序获取,不应与任何人共享或嵌入到您将分发的任何代码中(对于这些场景,您应该使用客户端流程)。
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&
client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE
如果您的应用成功通过身份验证并且用户的授权码有效,授权服务器将返回访问 token 。
所以,是的,这是 OAuth 的相当标准。获取成功代码,将其输入到上面的 url(带有适当的 client_id、client_secret 和 redirect_uri),然后您就可以赚钱了。您将获得一个访问 token ,然后就是聚会时间。
阅读 Facebook API 文章。这是非常有用的。如果您对此有疑问,我很乐意提供帮助。
祝你好运:)
关于java - 用于 OAuth 身份验证的 Facebook 代码参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8510213/