Подтвердить что ты не робот

Отправить личное сообщение моим друзьям с помощью myroid-приложения

Я разрабатываю приложение, в котором пользователь может делиться сообщениями со своими друзьями на Facebook. Я использую API Facebook для Android. Я могу проверить подлинность пользователя, а также получить список друзей в качестве пользователя Facebook, а также отправить сообщение на стене, но я ищу для отправки личного сообщения своим друзьям, и я не получил никакого решения для этого, поэтому может ли любой орган помочь мне, как я могу достичь...

Заранее спасибо

С наилучшими пожеланиями

4b9b3361

Ответ 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), и с этим вы можете реализовать свое собственное диалоговое окно "Отправить сообщение".

Ответ 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;
}