Posten auf Facebook spezifische Freundesliste mit Facebook Android SDK
-
28-10-2019 - |
Frage
Ich poste erfolgreich auf der Facebook-Pinnwand, möchte aber, dass der Benutzer auswählen kann, ob er sie auf einer bestimmten Freundesliste veröffentlichen möchte, z.Bekannte, Familie usw.
Mein Code gibt diesen Fehler aus:
{"error":{"message":"(#100) privacy must contains a valid privacy 'value'","type":"OAuthException"}}
Ich habe das Attribut "Datenschutz" hinzugefügt und ihm den Wert "Familie" zugewiesen, aber es funktioniert nicht. Wenn ich jedoch das Attribut "Datenschutz" entferne, ist der Pinnwandbeitrag erfolgreich.
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();
}
Lösung
Das Wertefeld kann eine der folgenden Zeichenfolgen angeben: JEDER, ALL_FRIENDS, NETWORKS_FRIENDS, FRIENDS_OF_FRIENDS, CUSTOM.
Das Freundesfeld muss angegeben werden, wenn der Wert auf CUSTOM und gesetzt ist enthalten eine der folgenden Zeichenfolgen: EVERYONE, NETWORKS_FRIENDS (when das Objekt kann von Netzwerken und Freunden gesehen werden), FRIENDS_OF_FRIENDS, ALL_FRIENDS, SOME_FRIENDS, SELF oder NO_FRIENDS (wenn das Objekt sein kann nur von einem Netzwerk gesehen).
Das Feld Zulassen muss angegeben werden, wenn der Wert für Freunde festgelegt ist SOME_FRIENDS und muss eine durch Kommas getrennte Liste von Benutzer-IDs und angeben Freundeslisten-IDs, die den Beitrag sehen können.
Versuchen Sie dies stattdessen, aber Sie müssen die Freundeslisten-ID für Familie kennen.
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());