Facebook Graph API重写显式设置隐私设置


Facebook Graph API overriding explicitly set Privacy settings

我在为我的应用程序代表用户创建的帖子设置隐私时遇到问题。

问题是,所有的帖子都得到他们的隐私值设置为ALL_FRIENDS的图形API,即使我显式地设置隐私值为EVERYONE。

这是我用来提交的代码:

$query = 'message='. urlencode($message) .'&privacy='. urlencode('{"value":"EVERYONE"}');
$url = 'https://graph.facebook.com/'. $obj_id .'/feed?access_token='. $user_fb_access_token;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $query);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($curl, CURLOPT_REFERER, $referrer);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);

这它。

这段代码一直工作得很好,直到8月的某个时候我才注意到它。

还有人有这个问题吗?

这与新的应用程序帖子隐私控制有关,如果设置为好友,则此应用程序只能将隐私设置为好友范围。

请阅读以下博客文章获取更多信息:https://developers.facebook.com/blog/post/543/

在您的示例中,您创建的是评论,而不是帖子。注释不支持privacy={}参数。

这并没有出现在他们的图形API文档中,但是他们本月在UI中将"everyone"改为"public",试图向用户澄清"everyone"的含义。

尝试使用'{"value":"PUBLIC"}',看看它是否有效。