如何使用facebook graph api设置相册隐私设置

时间:2012-06-14 13:50:04

标签: facebook facebook-graph-api facebook-fql

有没有办法用graph api更改Facebook相册隐私设置? 我试图找出答案,但我所能找到的只是如何使用fql获取隐私设置,而不是设置。

我正在创建相册

$postdata = http_build_query(array(
          'name' => $album_name,
          'message' => $album_description
            )
          );

  $opts = array('http' =>
         array(
          'method'=> 'POST',
          'header'=>
            'Content-type: application/x-www-form-urlencoded',
          'content' => $postdata
          )
         ) $context  = stream_context_create($opts);
 $result = json_decode(file_get_contents($graph_url, false, $context));
         $albumid = $result->id;

现在,如果我添加privacy=>"value",则会$albumid=null。 我不确定我需要在哪里添加隐私参数。

3 个答案:

答案 0 :(得分:1)

创建相册时,您可以在帖子请求中发送这些参数。

name, message, location and privacy.

隐私字段的值可以这样设置,

 privacy={value: "CUSTOM"} (send this as post parameter)

值字段可以指定以下字符串之一:

EVERYONE, ALL_FRIENDS, NETWORKS_FRIENDS, FRIENDS_OF_FRIENDS, CUSTOM .

由于facebook文档很糟糕,在albums object页面上没有提及它。

但是,您可以在post对象上阅读。

编辑:(评论后)

在php sdk中你可以做这样的事情,

$ret_obj = $facebook->api('me/albums', 'POST',
                                           array(
                                              'privacy' => '{value: "CUSTOM"}',
                                              'location' => 'India'
                                         ));

答案 1 :(得分:-1)

创建相册的文档放在https://developers.facebook.com/docs/reference/api/user/#albums

隐私设置是json样式的字符串。所以你可以创建一个array()并使用json_encode()来生成它。

答案 2 :(得分:-1)

使用php sdk它也可以作为php风格的@kaur

$ret_obj = $facebook->api('/me/albums/', 'POST', array(
                                         'source' => '@' . $photo,
                                         'message' => 'Picture uploaded',
                     'location' => 'Goran',
                     'privacy'=> array('value'=>'EVERYONE'),    //'privacy'=> '{value: "EVERYONE"}', //worked too!! SELF, ALL_FRIENDS, EVERYONE
                                         )
                                      );