2012-05-26 2 views
15

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

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

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

+1

Возможный дубликат: http://stackoverflow.com/questions/2574431/facebook-api-send-private-messages-to-friends –

ответ

7

это не представляется возможным отправить личные сообщения от имени пользователя с помощью графика API.

Однако вы должны быть в состоянии использовать Send Dialog, хотя я не пробовал его на андроид, но это должно быть что-то вроде:

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() {} 
}); 

Другой подход можно использовать это Chat API, с которым вы можете отправлять сообщения от имени пользователя, для этого требуется разрешение xmpp_login, и вы должны реализовать клиент xmpp.


Редактировать

Поскольку этот диалог пока не поддерживается в Android, у вас есть 3 варианта:

  1. Подождите Facebook, чтобы реализовать диалог для андроида.
  2. Попробуйте открыть диалоговое окно в браузере (URL-адрес, который находится в документах) на мобильном устройстве.
  3. Запросите xmpp_login и добавьте клиента xmpp (т. Е .: asmack), и с этим вы можете реализовать свое собственное диалоговое окно «Отправить сообщение».
+0

Спасибо за ваш ответ. я уже использовал код выше, но в диалоговом окне «Отправить диалог» говорится: «Этот диалог в настоящее время не поддерживается на мобильных устройствах». – Ramakrishna

+0

Эх, я боялся этого (так как это не в документах), но стоило попробовать. Я отредактировал свой ответ с дополнительной информацией. –

+0

Хорошо спасибо. Я попробую второй или третий вариант. – Ramakrishna

0

Вы можете использовать MessengerUtils для отправки сообщения с вложениями.

enter image description here

Вы можете отправить вложение со следующими типами пантомимы:

enter image description here

Пример кода для отправки изображения, как ниже

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); 

enter image description here

Дополнительная документация на https://developers.facebook.com/docs/messenger/android

0

Можно отправить личное сообщение 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(); 
    } 
} 

Check 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; 
} 
Смежные вопросы