无法获得release_stream权限

时间:2014-06-16 21:13:04

标签: facebook facebook-graph-api

我不知道该怎么做。 我有在FB上编写应用程序的经验。 我不明白这个问题。 我有简单的应用程序。 (https://apps.facebook.com/gecko_terrarium/

require './libraries/facebook/facebook.php';
$facebook = new Facebook(array(...));

$user = $facebook->getUser(); 
?><html><body>
<?php 
if($user) { 
  try { ?> <a href="#" onclick="fbLogin()"> Login</a> <?php
    $permissions = $facebook->api("/me/permissions");
    print_r($permissions);
  } catch (FacebookApiException $e) { ... }
else {
   echo("<script> top.location.href='https://www.facebook.com/dialog/oauth?client_id=111111111&redirect_uri=https://apps.facebook.com/gecko_terrarium&state=" . md5(uniqid(rand(), TRUE)) . "&scope=publish_stream'</script>");
exit;
?>
<div id="fb-root"></div>
<script>window.fbAsyncInit = function() { ....}

function fbLogin() {
   FB.login(function(response) {
      if (response.authResponse) {
         console.log("user gave permission");    
      } else {
         console.log("user did not give permission");
      }
   }, {scope:'publish_stream'});
}
</script>
</body></html>

第一次弹出一个权限窗口,没有关于发布的问题。 当我点击登录按钮时,不会弹出任何窗口。控制台是用户授予的权利&#39;

但是在屏幕上你可以看到你没有这样的许可。

我不知道如何解释它。

你能帮助我吗?

1 个答案:

答案 0 :(得分:1)

我认为您正在使用Facebook SDK库。他们确实拥有您想要尝试的权限的示例登录。顺便说一句,正确的授权不是publish_stream,而是publish_actions。我用于该授权的网址是https://www.facebook.com/dialog/oauth?client_id=$SOME_APP_ID&redirect_uri=$YOUR_URL&scope=publish_actions

N.B。:请记住迁移到Version 2,因为旧的图表API将会启动不到一年。 使用新API,您必须请求显式权限才能发布操作。要执行此操作,请访问https://developers.facebook.com,在菜单中选择您的应用,点击&#34;状态和查看&#34;,向下滚动页面,提交您的操作以获得批准(您必须向他们提供行动以及如何使用它来增强用户体验,他们可以测试的工作示例等。)