Письма в Facebook всегда возвращают ноль через FQL и RestFB - PullRequest
6 голосов
/ 14 мая 2010

Я пытаюсь преобразовать страницы друзей в фан-страницы (большинство компаний по ошибке создали страницы друзей) и пытаюсь отправить по электронной почте всем в списке друзей о переезде.

Я пытался

  1. FQL "ВЫБЕРИТЕ электронную почту от пользователя, ГДЕ uid = xxxx"
  2. Создание групп (не подходит для 5000 страниц друзей)
  3. Restfb: Connection myFriends = facebookClient.fetchConnection ("me / friends ", User.class) и т. д .;

Методы FQL и RestFB возвращают nada, метод групповой электронной почты просто беспорядочный.

Это функция безопасности илимогут ли эти данные когда-либо возвращаться для моих целей?

Приветствия

Ответы [ 4 ]

2 голосов
/ 18 января 2012

для доступа к личной информации пользователя, такой как электронная почта, сообщения и т. Д., Вы должны иметь разрешение на доступ к этой информации. Для получения более подробной информации посетите https://developers.facebook.com/docs/reference/api/permissions/

1 голос
/ 13 декабря 2011

Если вы используете restfb (API графа Facebook и старый клиент REST API, написанный на Java), и вы хотите получить доступ ко всему списку друзей после аутентификации Oauth, вы можете использовать следующий метод для доступа к список друзей и идентификаторы на Facebook ,

public List<ArrayList> findFacebookFriendsUsingRest(String facebookAccessToken){

    List<ArrayList> myFacebookFriendList= new ArrayList();
    final FacebookClient facebookClient;
    facebookClient = new DefaultFacebookClient(facebookAccessToken);
    User user = facebookClient.fetchObject("me", User.class);
    String userName = user.getFirstName();

    if (userName == null){
        userName = user.getLastName();
    }

    String userEmail = user.getEmail();
    com.restfb.Connection<User> myFriends = facebookClient.fetchConnection("me/friends", User.class);

    System.out.println("Count of my friends: " + myFriends.getData().size());

    for(User friend: myFriends.getData()){
        System.out.println("Friends id and name: "+friend.getId()+" , "+friend.getName());      
        myFacebookFriendList.add(friend.getName());
    }

    System.out.println("All Friends : "+myFacebookFriendList);
}
0 голосов
/ 06 октября 2010
Connection<User> myFriends = facebookClient.fetchConnection("me/friends", User.class ,Parameter.with("fields", "id, name, picture, email"));

Вы можете указать любое из свойств, перечисленных в http://developers.facebook.com/docs/reference/api/user

Единственное, что FB не шов, чтобы вернуть друзьям по электронной почте .. Я использую restFb 1.5.3

0 голосов
/ 14 мая 2010

Facebook не предоставляет пользователя, если только пользователь не авторизует ваше приложение для доступа к нему. Это из-за безопасности и конфиденциальности пользователей, представьте, как ужасно было бы, если бы каждый мог иметь в своем распоряжении все адреса электронной почты пользователя FB.

...