2015-01-12 3 views
1

Я пытаюсь показать изображение в Facebook, не используя кнопку входа в систему Facebook. Я использую SDK для Facebook.Показать профиль Изображение без входа

В настоящее время моего профиля картина выглядит следующим образом:

enter image description here

Я успешно подключен к Facebook и использовал com.facebook.widget.ProfilePictureView для отображения пустой фотографии в xml

Теперь у меня возникли проблемы в моем java класс пытается получить изображение моего профиля:

Game.java

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    ... 
    ... 

    // Find the user's profile picture custom view 
    profilePictureView = (ProfilePictureView) findViewById(R.id.selection_profile_pic); 
    profilePictureView.setCropped(true); 

    // view that in turn displays the profile picture. 
    profilePictureView.setProfileId(GraphUser.getId()); //eror 

    ... 
    ... 
} 

Ошибка этой линии: profilePictureView.setProfileId(GraphUser.getId())

В учебнике они показывают фотографию, как это:

 @Override 
     public void onCompleted(GraphUser user, Response response) { 
      // If the response is successful 
      if (session == Session.getActiveSession()) { 
       if (user != null) { 
        // Set the id for the ProfilePictureView 
        // view that in turn displays the profile picture. 
        profilePictureView.setProfileId(user.getId()); 
        // Set the Textview's text to the user's name. 
        userNameView.setText(user.getFirstName()); 
       } 
      } 
      if (response.getError() != null) { 
       // Handle errors, will do so later. 
      } 
     } 

Но в моем случае, у меня нет логина сессии и просто хотите для загрузки быстрой фотографии профиля. Так что я попытался просто подставив profilePictureView.setProfileId(user.getId()); для profilePictureView.setProfileId(GraphUser.getId()); поскольку user имеет тип GraphUser

Ошибка компиляции: Когда я пишу profilePictureView.setProfileId(GraphUser.getId()); он говорит, что не может сделать статическую ссылку на нестатической метод GetId() от типа GraphUser

Может кто-то, пожалуйста, помогите мне загрузить мою фотографию профиля? Возможно ли это без внедрения Facebook Login?

+0

Какая ошибка? Не могли бы вы предоставить нам стек или дополнительную информацию о причинах проблемы? Также вы установили errorListener в свой профильPictureView? 'setOnErrorListener (OnErrorListener)' –

+0

vincent я отредактировал сообщение выше с ошибкой – user2456977

+0

Я думаю, что ответ @luschn прав. Вы можете получить доступ к изображениям без входа, если пользователь разрешил это, просто установив идентификатор пользователя в profilePictureView, но если у вас нет идентификатора пользователя, у вас нет абсолютно никакого способа его создать :) –

ответ

2

Без разрешения пользователя Пользователь полностью анонимен. Таким образом, ответ отрицательный, вы не можете ничего показывать без входа в систему, и вы, конечно, не можете получить идентификатор пользователя без входа (это то, что вам нужно, чтобы получить изображение профиля). Идентификатор пользователя даже даст вам доступ к реальному имени каждого пользователя. Конечно, это невозможно без разрешения.

Дополнительная информация о Login (на Android): https://developers.facebook.com/docs/android/login-with-facebook/v2.2

+0

спасибо luschn за этот ответ. Я надеялся на небольшую работу по этой проблеме. – user2456977

Смежные вопросы