Pregunta

Estoy publicando con éxito en el muro de Facebook, pero quiero que el usuario pueda elegir si quiere publicarlo en alguna lista de amigos específica, p. ej.Conocidos, Familia, etc.

Mi código da este error:

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

Agregué el atributo "privacidad" y le di el valor de "Familia", pero no funciona, pero si elimino el atributo de privacidad, la publicación en el muro es exitosa

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

Solución

El campo de valor puede especificar una de las siguientes cadenas: TODOS, TODOS_FRIENDS, NETWORKS_FRIENDS, AMIGOS_OF_FRIENDS, PERSONALIZADO.

El campo de amigos debe especificarse si el valor se establece en CUSTOM y contienen una de las siguientes cadenas: TODOS, NETWORKS_FRIENDS (cuando el objeto puede ser visto por redes y amigos), FRIENDS_OF_FRIENDS, ALL_FRIENDS, SOME_FRIENDS, SELF o NO_FRIENDS (cuando el objeto puede ser visto solo por una red).

El campo de permiso debe especificarse cuando el valor de amigos se establece en SOME_FRIENDS y debe especificar una lista separada por comas de ID de usuario y ID de lista de amigos que "pueden" ver la publicación.

Prueba esto en su lugar, pero necesitarás conocer el ID de la lista de amigos para Familia.

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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top