Pergunta

Estou postando com sucesso no mural do Facebook, mas quero que o usuário possa escolher se deseja postar em alguma lista de amigos específica, por exemplo,Conhecidos, família, etc.

Meu código está apresentando este erro:

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

Eu adicionei o atributo "privacidade" e dei a ele o valor "Família", mas não está funcionando, mas se eu remover o atributo privacidade, a postagem no mural foi bem-sucedida

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();
        }
Foi útil?

Solução

O campo de valor pode especificar uma das seguintes strings: EVERYONE, ALL_FRIENDS, NETWORKS_FRIENDS, FRIENDS_OF_FRIENDS, CUSTOM.

O campo de amigos deve ser especificado se o valor for definido como CUSTOM e contém uma das seguintes strings: EVERYONE, NETWORKS_FRIENDS (quando o objeto pode ser visto por redes e amigos), FRIENDS_OF_FRIENDS, ALL_FRIENDS, SOME_FRIENDS, SELF ou NO_FRIENDS (quando o objeto pode ser visto por uma rede apenas).

O campo de permissão deve ser especificado quando o valor de amigos é definido como SOME_FRIENDS e deve especificar uma lista separada por vírgulas de IDs de usuário e IDs de lista de amigos que 'podem' ver a postagem.

Tente fazer isso, mas você precisará saber o ID da lista de amigos para a família.

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());
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top