我在为我的应用程序代表用户创建的帖子设置隐私时遇到问题。
问题是,所有的帖子都得到他们的隐私值设置为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"}'
,看看它是否有效。