Php Facebook应用程序错误

Php Facebook应用程序错误,php,facebook,facebook-php-sdk,facebook-apps,Php,Facebook,Facebook Php Sdk,Facebook Apps,这是我的权限代码: $permissions = $facebook->api("/me/permissions"); if( @array_key_exists('publish_stream', $permissions['data'][0]) ) { // Permission is granted! // Do the related task } else { // We don't have the permission // Alert th

这是我的权限代码:

$permissions = $facebook->api("/me/permissions");
if( @array_key_exists('publish_stream', $permissions['data'][0]) ) {
     // Permission is granted!
    // Do the related task
} else {
    // We don't have the permission
    // Alert the user or ask for the permission!
echo '<script>
window.location.replace("facebook.com/dialog/oauth?client_id=257378464344747&redirect_uri=https://www.facebook.com/pages/Test-Matyii/399406486739482?sk=app_257378464344747&scope=email,publish_stream"); 
</script>' ;
}

您需要确保正确设置PHPSDK,例如

$facebook = new Facebook(array(
  'appId'  => 'APP_ID',
  'secret' => 'APP_SECRET',
));

$user = $facebook->getUser();

if ($user) {
  try {
    $permissions = $facebook->api("/me/permissions");     
    // do something with the perms
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

如果$user在此处有效,则会记录用户并调用api。但是,如果为空,则需要用户使用getLoginUrl登录。您必须为$facebook api调用提供有效的访问令牌。第一行之前的代码在哪里?
$facebook = new Facebook(array(
  'appId'  => 'APP_ID',
  'secret' => 'APP_SECRET',
));

$user = $facebook->getUser();

if ($user) {
  try {
    $permissions = $facebook->api("/me/permissions");     
    // do something with the perms
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}