【问题标题】:Is there a way to check if user has granted a given permission in server-side?有没有办法检查用户是否在服务器端授予了给定的权限?
【发布时间】:2011-08-15 08:29:44
【问题描述】:

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

有什么想法吗?

【问题讨论】:

    标签: asp.net facebook facebook-graph-api codeplex


    【解决方案1】:

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

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

    编辑

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

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

    我无法提供更多详细信息,因为我从未使用过此 API,但请仔细查看此内容 tutorial on building a sample application

    【讨论】:

    • 其实我用的是ASP.NET,用户的认证不是我的问题。我编写了一个提供一些功能的应用程序。每个功能都需要自己的权限。我需要检查用户是否已授予特定权限以允许他/她使用该特定功能。
    【解决方案2】:

    您可以对此 URL https://graph.facebook.com/me/permissions 进行图形 API 调用,包括用户访问令牌。您将获得具有用户权限的结果。更多详情见https://developers.facebook.com/docs/reference/api/user/

    【讨论】:

      【解决方案3】:

      解决方案:

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

      ] }

      【讨论】:

        猜你喜欢
        • 2013-05-08
        • 1970-01-01
        • 2011-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-01
        • 1970-01-01
        相关资源
        最近更新 更多