Facebook应用程序:附加权限

Facebook应用程序:附加权限,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我有一个Facebook应用程序,大多数用户只会使用一次。在Facebook的工作流程中,用户表示他们是否希望自己的墙被写入。基于此,我要么请求发布流权限,要么不请求 稍后,一小部分用户将返回并再次使用该应用程序。一些以前不想在墙上写字的人(因此我没有要求发布流)现在想在墙上写字 在用户已授权应用程序后,我如何请求附加权限 类似地,我如何查询用户以列出他们已经授予的权限?前几天我看到了这个!如果您通读,有几种不同的方式显示一个小弹出框来请求额外的权限 我不确定Facebook应用程序如何使用此功

我有一个Facebook应用程序,大多数用户只会使用一次。在Facebook的工作流程中,用户表示他们是否希望自己的墙被写入。基于此,我要么请求发布流权限,要么不请求

稍后,一小部分用户将返回并再次使用该应用程序。一些以前不想在墙上写字的人(因此我没有要求发布流)现在想在墙上写字

在用户已授权应用程序后,我如何请求附加权限


类似地,我如何查询用户以列出他们已经授予的权限?

前几天我看到了这个!如果您通读,有几种不同的方式显示一个小弹出框来请求额外的权限


我不确定Facebook应用程序如何使用此功能,但我知道在使用Facebook Connect的网站上,如果您尝试请求用户已接受的权限,则页面会自动重定向回您设置的重定向url。

只需将新权限添加到新的
fb:login按钮即可:


让我写在你的墙上!
例如,您将上述内容隐藏在一个DIV中,如果用户勾选一个复选框,您将显示该DIV并提示新权限

下面是一个很好的实例:

  • 单击“登录”以“添加”应用程序
  • 然后单击
    examples
  • fb.api下
    选择
    doeslike
  • 现在,您可以看到,即使在*连接到应用程序(测试控制台应用程序)之后,也可以使用另一个登录按钮来提示用户

    编辑:
    要检查用户是否已授予您的应用程序权限,只需使用以下FQL:

    选择read\u stream,offline\u访问权限,其中uid=me()
    
    这将返回如下结果:

    [
    {
    “读取流”:1,
    “脱机访问”:0
    }
    ]
    
    要测试它,只需使用早期发布的测试控制台

    编辑2:
    要在没有XFBML或Javascript的情况下自行构建链接,只需添加
    scope
    参数和额外的perms():

    或者,如果您正在使用:

    $loginUrl=$facebook->getLoginUrl(数组)(
    “范围”=>“发布\u流”
    ));
    
    我看到您正在使用FBML生成登录按钮。当使用PHPSDK和oauth_重定向方法时会发生什么?这就是它不尊重额外权限的地方。
    https://www.facebook.com/dialog/oauth?
         client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=publish_stream