Domanda

Sto postando con successo sulla bacheca di Facebook, ma desidero che l'utente possa scegliere se desidera pubblicarlo in un elenco di amici specifico, ad es.Conoscenti, famiglia ecc.

Il mio codice restituisce questo errore:

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

Ho aggiunto l'attributo "privacy" e gli ho assegnato il valore di "Famiglia", ma non funziona, ma se rimuovo l'attributo della privacy, il post in bacheca ha successo

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();
        }
È stato utile?

Soluzione

Il campo del valore può specificare una delle seguenti stringhe: TUTTI, ALL_AMICI, RETI_AMICI, AMICI_OF_AMICI, PERSONALIZZATO.

Il campo amici deve essere specificato se il valore è impostato su PERSONALIZZATO e contengono una delle seguenti stringhe: EVERYONE, NETWORKS_FRIENDS (when l'oggetto può essere visto da reti e amici), FRIENDS_OF_FRIENDS, ALL_FRIENDS, SOME_FRIENDS, SELF o NO_FRIENDS (quando l'oggetto può essere visto solo da una rete).

Il campo allow deve essere specificato quando il valore friends è impostato su SOME_FRIENDS e deve specificare un elenco separato da virgole di ID utente e ID elenco di amici che "possono" visualizzare il post.

Prova invece questo, ma dovrai conoscere l'ID delle liste di amici per Famiglia.

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());
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top