Подтвердить что ты не робот

Указать конфиденциальность при отправке POST на Facebook Graph API

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

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

4b9b3361

Ответ 1

Вот ответ.

Просто включите "конфиденциальность" в Bundle в формате JSONObject, включая значение "SELF", "ALL_FRIENDS" или "EVERYONE".

Это использование Android SDK 2.0 и 3.0 теперь доступно, но способ использования графика 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

для использования 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

Ответ 3

Да, есть:

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

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

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

Ответ 5

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

enter image description here

Он может быть установлен при аутентификации вашего собственного приложения или в: account settings - > applications.