2016-05-27 6 views
1

Я пытаюсь получить детальное описание работы и описание работы пользователя из facebook. Я успешно вхожу в систему и получаю токен доступа. Но я не могу получить детали, которые я хочу(# 803) Некоторые из запрошенных вами псевдонимов не существуют: {education-experience-id} Android

код, я использую для этого: -

public void getUserExpandEducation() { 

    new GraphRequest(
      AccessToken.getCurrentAccessToken(), 
     "/{education-experience-id}", //"/{user_education_history}",// 
      null, 
      HttpMethod.GET, 
      new GraphRequest.Callback() { 
       public void onCompleted(GraphResponse response) { 
        Log.d("fb response",response.toString()); 
       } 
      } 
    ).executeAsync(); 
} 

может кто-нибудь, пожалуйста, ответить я получаю сообщение об ошибке (# 803) Некоторые из псевдонимов вы просили не существует : {образование-опыт-ID}

+0

Как насчет замены строки на фактический идентификатор? – luschn

+0

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

+0

/{education-experience-id} - это просто местозаполнитель из документов. конечно, вам нужно его заменить. не уверен, что вы имеете в виду с разрешением URL, логин - совершенно другая тема. вам необходимо авторизовать ПЕРЕД тем, как использовать эту конечную точку. это вопрос, как получить этот идентификатор? – luschn

ответ

3

Наконец я получил полную работу и детализацию образования по этому коду:

GraphRequest request = GraphRequest.newMeRequest(
      accessToken, 
      new GraphRequest.GraphJSONObjectCallback() { 
       @Override 
       public void onCompleted(
         JSONObject object, 
         GraphResponse response) { 

        FirstNameSocial = object.optString("first_name"); 
        LastNameSocial = object.optString("last_name"); 
        GenderSocial = object.optString("gender"); 
        EmailSocial = object.optString("email", ""); 
        id = object.optString("id"); 


        if (!EmailSocial.equals("")) { 
         login_type = Config.Login_Type_facebook; 
         callAPI(EmailSocial, id, ""); 

        } else { 
         Toast.makeText(getApplicationContext(), "Permision Denied", Toast.LENGTH_LONG) 
           .show(); 
        } 

       } 
      }); 

    Bundle parameters = new Bundle(); 
    parameters.putString("fields", "id,name,email,birthday,gender,first_name,last_name,picture,education,work"); 
    request.setParameters(parameters); 
    request.executeAsync(); 

Может помочь кому-то! Happy coding :)

+0

Можете ли вы сказать, откуда вы нашли этот метод использования графика? –

+0

@akanksha Как мы можем напечатать этот результат, мы получим в некотором говорят list-view? – Vimal

+0

Внутри onCompleted метод вы получите ответ. После этого вы можете отображать результат, когда захотите. Если вы хотите, чтобы listview так добавлял данные в список и связывал этот список с адаптером, тогда связывайте адаптер со списком. –

2

Убедитесь, что вы уполномочены с этим разрешением: user_education_history

API вызова, чтобы получить список идентификаторов образования: https://developers.facebook.com/tools/explorer/?method=GET&path=me%3Ffields%3Deducation

В вашем коде, вам нужно заменить следующую строку с одним из идентификаторов в результате образования: {education-experience-id}

Например:

new GraphRequest(
    AccessToken.getCurrentAccessToken(), 
    "/12345", 
     null, 
     HttpMethod.GET, 
     new GraphRequest.Callback() { 
      public void onCompleted(GraphResponse response) { 
       Log.d("fb response",response.toString()); 
      } 
     } 
).executeAsync(); 
+0

+1 для хорошего подхода, поскольку я упоминаю, что моя цель - получить детали образования и опыт работы пользователя. Можете ли вы посоветовать мне больше для этого или отправить код. Описание: - https://developers.facebook.com/tools/explorer/145634995501895/?method=GET&path=%7Beducation-experience-id%7D&version=v2.6 –

+0

мой ответ должен включать все, что вам нужно знать, я не знаю Конечно, что еще вы ожидаете, если честно? просто откройте ссылку в своем ответе и убедитесь, что вы авторизованы с правильным разрешением. что при вызове api в ссылке вы получаете список образования, в нем мало магии. это простой вызов на график api. – luschn

+0

Спасибо, ваш ответ мне очень помог :) –