Отправить личное сообщение моим друзьям с помощью myroid-приложения
Я разрабатываю приложение, в котором пользователь может делиться сообщениями со своими друзьями на Facebook. Я использую API Facebook для Android. Я могу проверить подлинность пользователя, а также получить список друзей в качестве пользователя Facebook, а также отправить сообщение на стене, но я ищу для отправки личного сообщения своим друзьям, и я не получил никакого решения для этого, поэтому может ли любой орган помочь мне, как я могу достичь...
Заранее спасибо
С наилучшими пожеланиями
Ответы
Ответ 1
Невозможно отправлять личные сообщения от имени пользователя, используя график api.
Однако вы должны использовать Диалоговое окно отправки, хотя я не пробовал его на Android, но это должно быть что-то вроде:
Bundle params = new Bundle();
params.putString("to", "USER_ID");
params.putString("name", "TITLE HERE");
params.putString("link", "A URL"); // this link param is required
facebook.dialog(context, "send", params, new DialogListener() {
@Override
public void onComplete(Bundle values) {
....
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
Другим подходом, который вы можете использовать, является API чата, с помощью которого вы можете отправлять сообщения от имени пользователя, для этого требуется разрешение xmpp_login
, и вы должны реализовать клиент xmpp.
Изменить
Поскольку этот диалог еще не поддерживается в Android, у вас есть 3 варианта:
- Подождите, пока в facebook появится диалоговое окно для Android.
- Попробуйте открыть диалоговое окно в браузере (URL-адрес, который находится в документах) на мобильном устройстве.
- Запросите
xmpp_login
и добавьте клиент xmpp (например: asmack), и с этим вы можете реализовать свое собственное диалоговое окно "Отправить сообщение".
Ответ 2
Новые Android SDK теперь имеют (частный) диалог сообщений
https://developers.facebook.com/docs/android/message-dialog/
Ответ 3
Вы можете использовать MessengerUtils для отправки сообщения с вложениями.
![введите описание изображения здесь]()
Вы можете отправить вложение со следующими типами mime:
![введите описание изображения здесь]()
Пример кода для отправки изображения выглядит ниже
String mimeType = "image/jpeg";
// contentUri points to the content being shared to Messenger
ShareToMessengerParams shareToMessengerParams =
ShareToMessengerParams.newBuilder(contentUri, mimeType)
.build();
// Sharing from an Activity
MessengerUtils.shareToMessenger(
this,
REQUEST_CODE_SHARE_TO_MESSENGER,
shareToMessengerParams);
![введите описание изображения здесь]()
Дополнительная документация находится на https://developers.facebook.com/docs/messenger/android
Ответ 4
Можно отправить личное сообщение facebook, используя код ниже.
if (isPackageExisted("com.facebook.orca")) {
Uri uri = Uri.parse("fb-messenger://user/");
uri = ContentUris.withAppendedId(uri, Long.parseLong("Enter user id here"));
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
} else {
Toast.makeText(this, "Please install facebook messenger", Toast.LENGTH_LONG).show();
}
}
Проверить, что Facebook-мессенджер установлен или нет
public boolean isPackageExisted(String targetPackage) {
PackageManager pm = getPackageManager();
try {
PackageInfo info = pm.getPackageInfo(targetPackage, PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
return false;
}
return true;
}