I want to automatically post Notes on Facebook and have them be targeted to just a single member of a group. By target I mean only a specific Facebook user should be able to read the note.
Is there a way to do this with the graph API? I see in the old REST API there is a "privacy" parameter on the steam.publish method (see http://developers.facebook.com/docs/reference/rest/stream.publish). Is there an equivalent in the graph API?
You can use SELF
php facebook api example:
$privacy = array(
'value' => 'SELF' //private
);
$publish = $facebook->post('/me/videos',
array('access_token' => $page_token,
'title'=> $title,
'privacy'=> $privacy,
'source' => $facebook->videoToUpload($fn),
'description' => $desc
));
object containing the
valuefield and optionalfriends,networks,allowanddenyfields.The
valuefield may specify one of the following strings:EVERYONE,ALL_FRIENDS,NETWORKS_FRIENDS,FRIENDS_OF_FRIENDS,CUSTOM.The
friendsfield must be specified ifvalueis set toCUSTOMand contain one of the following strings:EVERYONE,NETWORKS_FRIENDS(when the object can be seen by networks and friends),FRIENDS_OF_FRIENDS,ALL_FRIENDS,SOME_FRIENDS,SELF, orNO_FRIENDS(when the object can be seen by a network only).The
networksfield may contain a comma-separated list of network IDs that can see the object, or 1 for all of a user's network.The
allowfield must be specified when thefriendsvalue is set toSOME_FRIENDSand must specify a comma-separated list of user IDs and friend list IDs that 'can' see the post.The
denyfield may be specified if thefriendsfield is set toSOME_FRIENDSand must specify a comma-separated list of user IDs and friend list IDs that 'cannot' see the post.
Search for privacy on the following link to see all options:
https://developers.facebook.com/docs/graph-api/reference/v2.6/post
Here's the answer.
Just include "privacy" in the Bundle in JSONObject format, including value "SELF", "ALL_FRIENDS" OR "EVERYONE".
This is using android SDK 2.0, and 3.0 is now avaliable, But the way to use graph api is the same, left comment if you reach any problem:).
public String PostWall(String Message,int Level){
/***********************************************************
* level 0 ==>only me
* level 1==>friend only
* level 2==>public
* level >2 ==>error
***********************************************************/
Bundle params = new Bundle();
params.putString("message", Message);
JSONObject privacy = new JSONObject();
try {
switch (Level){
case 0:
privacy.put("value", "SELF");
break;
case 1:
privacy.put("value", "ALL_FRIENDS");
break;
case 2:
privacy.put("value", "EVERYONE");
break;
}
} catch (JSONException e1) {
}
params.putString("privacy", privacy.toString());
//Step 2 Request
String resp= "";
try {
resp = fb.request("me/feed", params, "POST");
} catch (FileNotFoundException e) {
} catch (MalformedURLException e) {
} catch (IOException e) {
}
try{
resp = new JSONObject(resp).getString("id");
if(enableLog){
Log.d(LOGTAG,"*****POSTWALL END*****");
Log.d(LOGTAG,"RETURN "+resp);
}
return resp;
}catch(JSONException e1){
}
}
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With