Публикация в определенном списке друзей Facebook с помощью Android SDK Facebook - PullRequest
1 голос
/ 16 января 2012

Я успешно публикую сообщения на стене Facebook, но я хочу, чтобы пользователь мог выбрать, хотят ли они публиковать его в определенном списке друзей, например, Знакомства, Семья и т. Д.

Мой код выдаёт эту ошибку:

{"error":{"message":"(#100) privacy must contains a valid privacy 'value'","type":"OAuthException"}}

Я добавил атрибут «конфиденциальность» и присвоил ему значение «Семья», но он не работает, но если я удалю атрибут конфиденциальности, запись на стене будет успешной

try
        {
            Bundle parameters = new Bundle();
            parameters.putString("message", msg);
            parameters.putString("description", "Test 1");
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("value", "Family");
            parameters.putString("privacy", jsonObject.toString());
            response = Data.facebook.request("me/feed", parameters,"POST");

        } catch(Exception e) {
            e.printStackTrace();
        }

1 Ответ

5 голосов
/ 16 января 2012

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

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

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

Попробуйте вместо этого, но вынеобходимо знать идентификатор списка друзей для семьи.

var theFriendLists = Api.Get(`me/friendlist`);
var theFriendsListIdForFamily = theFriendLists.Select item  where list_type=="family";

JSONObject jsonObject = new JSONObject();
jsonObject.put("value", "CUSTOM");
jsonObject.put("friends", "SOME_FRIENDS");
jsonObject.put("allow", theFriendsListIdForFamily);
parameters.putString("privacy", jsonObject.toString());
...