我需要检查用户是否在服务器端授予了给定的权限(例如:publish_stream)。它为客户端存在的解决方案接缝,但我需要的是服务器端。
请问有什么想法吗?
我需要检查用户是否在服务器端授予了给定的权限(例如:publish_stream)。它为客户端存在的解决方案接缝,但我需要的是服务器端。
请问有什么想法吗?
您需要像Facebook Java API或restFB这样的服务器端 API 。这些是 java API(我已经使用过),还有许多其他用于不同语言的 API。官方的显示在Facebook 开发者门户上。
使用这些 API,您将能够做的不仅仅是在服务器端对用户进行身份验证。按照不同页面的链接,您会发现可以让您立即开始使用的片段!
由于您使用的是 ASP,因此您需要一个 ASP .NET API。这是从谷歌搜索http://facebooksdk.codeplex.com/中找到的第一个结果。
使用此 API 和 MVC 架构,您可以注释任何包含需要权限的代码的控制器操作,[CanvasAuthorize(Perms = "publish_stream")]
当用户调用该操作时,他们需要提供权限。
我无法提供更多细节,因为我从未使用过此 API,但请查看有关构建示例应用程序的深入教程。
您可以对此 URL https://graph.facebook.com/me/permissions进行 Graph API 调用,包括用户访问令牌。您将获得具有用户权限的结果。有关更多详细信息,请参阅https://developers.facebook.com/docs/reference/api/user/
解决方案:
第 1 步。首先你必须进行查询:查询就像:SELECT {0} FROM permissions WHERE uid = {1}
{0} 是逗号分隔的权限。例如:publish_stream,offline_access
{1} 是用户 ID
第 2 步。然后将此查询发送到给定的 url:
网址:https://api.facebook.com/method/fql.query?query={0}&format=JSON&access_token={1}
{0} 是我们在第 1 步中进行的查询
{1} 是用户的 AccessToken
样本结果:[{"publish_stream":1,"offline_access":0}]
使用 Graph Api更新另一种方式:
https://graph.facebook.com/me/permissions?access_token={0}
{0} 是用户的 AccessToken
样本结果:
{
“数据”: [
{
"installed": 1,
"status_update": 1,
"photo_upload": 1,
"video_upload": 1,
"offline_access": 1,
"create_note": 1,
"share_item": 1,
"bookmarked": 1,
"publish_stream": 1
}
] }