0

我需要检查用户是否在服务器端授予了给定的权限(例如:publish_stream)。它为客户端存在的解决方案接缝,但我需要的是服务器端。

请问有什么想法吗?

4

3 回答 3

1

您需要像Facebook Java APIrestFB这样的服务器端 API 。这些是 java API(我已经使用过),还有许多其他用于不同语言的 API。官方的显示在Facebook 开发者门户上。

使用这些 API,您将能够做的不仅仅是在服务器端对用户进行身份验证。按照不同页面的链接,您会发现可以让您立即开始使用的片段!

编辑

由于您使用的是 ASP,因此您需要一个 ASP .NET API。这是从谷歌搜索http://facebooksdk.codeplex.com/中找到的第一个结果。

使用此 API 和 MVC 架构,您可以注释任何包含需要权限的代码的控制器操作,[CanvasAuthorize(Perms = "publish_stream")]当用户调用该操作时,他们需要提供权限。

我无法提供更多细节,因为我从未使用过此 API,但请查看有关构建示例应用程序的深入教程

于 2011-08-15T08:50:33.053 回答
1

您可以对此 URL https://graph.facebook.com/me/permissions进行 Graph API 调用,包括用户访问令牌。您将获得具有用户权限的结果。有关更多详细信息,请参阅https://developers.facebook.com/docs/reference/api/user/

于 2011-08-15T16:44:03.213 回答
0

解决方案:

第 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
  }

] }

于 2011-08-16T11:12:48.927 回答