Вы видели демо «Hackbook» на сайте developer.facebook.com?
Вы можете отправить ЗАПРОС ПРИЛОЖЕНИЯ HACKBOOK ЗДЕСЬ.
Вы можете отправить запрос приложения только одному другу с помощью приведенного ниже кода.
Код:
Bundle params = new Bundle();
JSONObject attachment = new JSONObject();
JSONObject properties = new JSONObject();
JSONObject prop1 = new JSONObject();
JSONObject prop2 = new JSONObject();
JSONObject media = new JSONObject();
JSONStringer actions = null;
try {
attachment.put("name", "YOUR_APP");
attachment.put("href", "http://www.google.com/");
attachment.put("description", "ANY_TEXT");
media.put("type", "image");
media.put("src", "IMAGE_LINK");
media.put("href", "http://www.google.com/");
attachment.put("media", new JSONArray().put(media));
prop1.put("text", "www.google.com");
prop1.put("href", "http://www.google.com");
properties.put("Visit our website to download the app", prop1);
/* prop2.put("href", "http://www.google.com");
properties.put("iTunes Link ", prop2);*/
attachment.put("properties", properties);
Log.d("FACEBOOK", attachment.toString());
actions = new JSONStringer().object()
.key("name").value("APP_NAME")
.key("link").value("http://www.google.com/").endObject();
} catch (JSONException e) {
e.printStackTrace();
}
System.out.println("ACTIONS STRING: "+actions.toString());
System.out.println("ATTACHMENT STRING: "+attachment.toString());
params.putString("actions", actions.toString());
params.putString("attachment", attachment.toString()); // Original
params.putString("to", "YOUR_FRIEND_FACEBOOK_ID");
Utility.mFacebook.dialog(getParent(), "stream.publish", params,new PostDialogListener());
public class PostDialogListener extends BaseDialogListener {
@Override
public void onComplete(Bundle values) {
final String postId = values.getString("post_id");
if (postId != null) {
Toast.makeText(getApplicationContext(), ""+getResources().getString(R.string.facebook_response_msg_posted), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), ""+getResources().getString(R.string.facebook_response_msg_not_posted), Toast.LENGTH_SHORT).show();
}
}
}
Приведенный выше код отлично работает, если вы хотите опубликовать Apprequest только на стене одного друга. Если вы хотите публиковать сообщения на всех, вам нужно создать asynckTask, который запускается для всех сообщений друзей и публикует запросы приложений на всех стенах.
Обновлять
Вот ссылка в PHP которые проделали ту же работу, чтобы отправить запрос всем друзьям на Facebook.
И [здесь ясно объяснено3, что Facebook блокирует отправку запроса на добавление в друзья более чем 15-20 друзьям.
Теперь у вас есть только один вариант сделать это: использовать приведенный выше код в AsyncTask, чтобы отправить запрос на добавление в друзья всем друзьям один за другим.
person
Shreyash Mahajan
schedule
21.01.2013