Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Facebook Graph API发布公共照片_Php_Facebook_Facebook Graph Api - Fatal编程技术网

Php 使用Facebook Graph API发布公共照片

Php 使用Facebook Graph API发布公共照片,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我正在使用Facebook Graph API将照片发布到用户的相册中 照片的发布是在要求的相册中创建的,但我无法将照片公开 相册设置为“公共”,并且相册中的其他照片可供注销的用户使用。当用户授予应用程序权限时,他们也会选择将应用程序发布的任何内容公开。知道为什么会这样吗 代码如下: $ret_obj = $this->facebook->api('123123123/photos', 'POST', array( 'source' => '@' . $photo,

我正在使用Facebook Graph API将照片发布到用户的相册中

照片的发布是在要求的相册中创建的,但我无法将照片公开

相册设置为“公共”,并且相册中的其他照片可供注销的用户使用。当用户授予应用程序权限时,他们也会选择将应用程序发布的任何内容公开。知道为什么会这样吗

代码如下:

$ret_obj = $this->facebook->api('123123123/photos', 'POST', array(
    'source' => '@' . $photo,
    'message' => $message,
));
以下是我请求的权限:

$url = $this->facebook->getLoginUrl( array(
    'scope' => 'photo_upload, user_photos, publish_stream'
));
根据(未包含此信息,但我已添加)您需要在API调用中提供一个额外的
隐私
参数,我相信它看起来是这样的(我的PHP不强):


哦,你应该考虑升级到我们昨天推出的更新的PHP SDK(4.0.0):谢谢你的回复。不幸的是,添加此选项不起作用。它仍然不适用于已注销的用户。根据文档,如果没有提供,则默认为用户在登录对话框中所做的选择,在本例中,该对话框是公共的。新创建的照片上的隐私指示器显示什么?它显示公共。这是照片的url:Hmm,这很奇怪,我刚刚使用
url
上传方法进行了测试,并且能够通过注销的浏览器成功地看到照片。我向您推荐,以便我们的支持团队能够对此进行更深入的调查。
$privacy = array(
  'value'=> 'EVERYONE',
)

$ret_obj = $this->facebook->api('123123123/photos', 'POST', array(
                                 'source' => '@' . $photo,
                                 'message' => $message,
                                 'privacy' => $privacy
                                 )
                              );