Укажите конфиденциальность при размещении в Facebook Graph API - PullRequest
12 голосов
/ 25 августа 2010

Я хочу автоматически публиковать заметки на Facebook, чтобы их можно было ориентировать только на одного члена группы.Под целью я подразумеваю, что только конкретный пользователь Facebook должен иметь возможность читать заметку.

Есть ли способ сделать это с помощью API Graph?Я вижу, что в старом REST API в параметре steam.publish есть параметр "конфиденциальности" (см. http://developers.facebook.com/docs/reference/rest/stream.publish). Есть ли эквивалент в графе API?

Ответы [ 5 ]

6 голосов
/ 29 октября 2012

Вот ответ.

Просто включите «Privacy» в Bundle в формате JSONObject, включая значение «SELF», «ALL_FRIENDS» ИЛИ «EVERYONE».

Это использует Android SDK2.0 и 3.0 теперь доступны, но способ использования graph api тот же, оставьте комментарий, если у вас возникнут какие-либо проблемы:).

public String PostWall(String Message,int Level){
    /***********************************************************
        * level 0 ==>only me
        * level 1==>friend only
        * level 2==>public
        * level >2 ==>error
    ***********************************************************/
    Bundle params = new Bundle();
    params.putString("message", Message);
    JSONObject privacy = new JSONObject();
    try {
        switch (Level){
            case 0: 
                privacy.put("value", "SELF");
                break;
            case 1: 
                privacy.put("value", "ALL_FRIENDS");
                break;
            case 2: 
                privacy.put("value", "EVERYONE");
                break;
        }
    } catch (JSONException e1) {
    }
    params.putString("privacy", privacy.toString());
    //Step 2 Request
    String resp= "";
    try {
        resp = fb.request("me/feed", params, "POST");
    } catch (FileNotFoundException e) {
    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
    try{
        resp = new JSONObject(resp).getString("id");
        if(enableLog){
            Log.d(LOGTAG,"*****POSTWALL END*****");
            Log.d(LOGTAG,"RETURN "+resp);
        }
        return resp;
    }catch(JSONException e1){
    }
}
};
2 голосов
/ 19 мая 2016

Вы можете использовать SELF

php facebook api пример:

$privacy = array(
        'value' => 'SELF' //private
    );

$publish = $facebook->post('/me/videos',
        array('access_token' => $page_token,
        'title'=> $title,
        'privacy'=> $privacy,
        'source' => $facebook->videoToUpload($fn),
        'description' => $desc
        ));

объект, содержащий поле value и необязательный friends, networks, allow и deny полей.

В поле value может указываться одна из следующих строк: EVERYONE, ALL_FRIENDS, NETWORKS_FRIENDS, FRIENDS_OF_FRIENDS, CUSTOM.

Поле friends должно быть указано, если для value установлено значение CUSTOM и содержат одну из следующих строк: EVERYONE, NETWORKS_FRIENDS (когда объект может видеть сеть и друзья), FRIENDS_OF_FRIENDS, ALL_FRIENDS, SOME_FRIENDS, SELF или NO_FRIENDS (когда объект может быть видно только по сети).

Поле networks может содержать разделенный запятыми список идентификаторов сети который может видеть объект, или 1 для всей сети пользователя.

Поле allow должно быть указано, когда значение friends установлено на SOME_FRIENDS и должен указывать разделенный запятыми список идентификаторов пользователей и идентификаторы списка друзей, которые могут видеть сообщение.

Поле deny может быть указано, если для поля friends установлено значение SOME_FRIENDS и должен указывать разделенный запятыми список идентификаторов пользователей и идентификаторы списка друзей, которые не могут видеть сообщение.


Поиск Конфиденциальность по следующей ссылке, чтобы увидеть все варианты:

https://developers.facebook.com/docs/graph-api/reference/v2.6/post

0 голосов
/ 05 марта 2012

http://developers.facebook.com/docs/reference/api/post

не указывает, как правильно указать конфиденциальность

для различных параметров CUSTOM, FRIENDS, NETWORK_FRIENDS

0 голосов
/ 16 сентября 2012

Если вы публикуете заметки из приложения, вы можете установить конфиденциальность активности по умолчанию, как показано здесь:

enter image description here

Может быть установлено, когда вы аутентифицируете свое собственное приложение, или в: account settings - > applications.

0 голосов
/ 12 января 2011

Да, есть:

http://developers.facebook.com/docs/reference/api/post

Существует поле, называемое конфиденциальностью, которое вы можете изменить.

Надеюсь, это поможет, -Roozbeh

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...