해결책을 찾았습니다. "to"및 "from"매개 변수 만 추가하면됩니다.
하나의 친구 벽에 게시 : 많은 친구
private void publishFeedDialog(String friend_uid) {
Session session = Session.getActiveSession();
if (!hasPublishPermission()) {
// We don't have the permission to post yet.
session.requestNewPublishPermissions(new Session.NewPermissionsRequest(this, WRITE_PERMISSION));
}
if (user != null && friend_uid != null && hasPublishPermission()) {
final Activity activity = this;
Bundle params = new Bundle();
//This is what you need to post to a friend's wall
params.putString("from", "" + user.getId());
params.putString("to", friend_uid);
//up to this
params.putString("name", "Facebook SDK for Android");
params.putString("caption", "Build great social apps and get more installs.");
params.putString("description", "The Facebook SDK for Android makes it easier and faster to develop Facebook integrated Android apps.");
params.putString("link", "https://developers.facebook.com/android");
params.putString("picture", "https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png");
WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(this, Session.getActiveSession(), params))
.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Bundle values, FacebookException error) {
if (error == null) {
// When the story is posted, echo the success
// and the post Id.
final String postId = values.getString("post_id");
if (postId != null) {
Toast.makeText(activity,
"Posted story, id: "+postId,
Toast.LENGTH_SHORT).show();
} else {
// User clicked the Cancel button
Toast.makeText(activity,
"Publish cancelled",
Toast.LENGTH_SHORT).show();
}
} else if (error instanceof FacebookOperationCanceledException) {
// User clicked the "x" button
Toast.makeText(activity,
"Publish cancelled",
Toast.LENGTH_SHORT).show();
} else {
// Generic, ex: network error
Toast.makeText(activity,
"Error posting story",
Toast.LENGTH_SHORT).show();
}
}
}).build();
feedDialog.show();
}
}
벽 게시 : 다음은 내 샘플입니다 대신 FeedDialogBuilder의
RequestsDialogBuilder 두 번째 때문 만 매개 변수에 여러 개의 ID를 허용하는 반면, 첫 번째 매개 변수는 많은 수를 수신 할 수 있지만 (제한에 대해서는 확실하지 않지만 약 50이라고 생각합니다.)
크레딧 : gian1200
하지만 많은 친구들에게 똑같은 것을 보내고 싶다면 어떻게해야합니까? 내가 아는 한, "to"매개 변수는 1 개의 id만을 허용합니다. 유일한 해결 방법은 "for"를 사용하여 각 친구에 대한 요청을 만드는 것입니다 (이는 나에게 잘못된 것 같습니다). – gian1200
아직 시도하지 않았습니다. 죄송합니다. 지금 당장 프로젝트에 빠져 있습니다. 시간이 있다면 해결책을 찾으려고 노력할 것입니다. 그러나 만약 당신이 나에게 묻는다면,이 일을 할 수있는 기능이 없다면 벽에 글을 올려 놓고 친구들에게 태그를 달아서 루프를 만드는 것보다 더 좋은 해결책이라고 제안 할 것입니다. – Marl
답변 해 주셔서 감사합니다. 그러나 두 번째 하나만 매개 변수에 여러 ID를 허용하기 때문에 첫 번째 하나를 많이받을 수 있지만 (제한에 대해 확실하지 않지만 내가 생각하는 약 50), FeedDialogBuilder 대신 RequestsDialogBuilder를 사용하여 할 관리 " . – gian1200