2012-06-19 3 views
1

Я создаю игру для Android, которая интегрируется с facebook для извлечения их фотографии и имени и другой информации с использованием графика, я узнал, как получить их фотографию, используя приведенный ниже код который работает отлично, но я изо всех сил пытаюсь найти рабочие примеры извлечения другой информации, такой как first_name и т. д.Извлечение данных графика facebook для родного приложения для Android android

Код, который я использую для получения фотографии и отображения ее в ImageView, приведен ниже.

public void showPhoto(View v) { 
    try { 
     ImageView MyProfilePicImageView = (ImageView)findViewById(R.id.temp); 
     URL MyProfilePicURL = new URL("https://graph.facebook.com/me/picture?type=normal&method=GET&access_token="+ access_token); 
     Bitmap MyprofPicBitMap = null; 

     try { 
      MyprofPicBitMap = BitmapFactory.decodeStream(MyProfilePicURL.openConnection().getInputStream()); 
      MyProfilePicImageView.setImageBitmap(MyprofPicBitMap); 
     } 
     catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } 
} 

Я искал высоко и низко, но не могу найти информацию о том, как получить другую информацию с помощью графика, другую информацию, означающий first_name и т.д ... в том числе и здесь, на сайте разработчиков facebook (https://developers.facebook.com/docs/reference/api/), но не может найти рабочий пример.

Может ли кто-нибудь показать мне рабочий пример для извлечения first_name пользователя, чтобы я мог отображать его в текстовом виде?

ответ

4

, используя этот url "https://graph.facebook.com/me/friends?access_token="+accessToken, вы можете получить своих друзей, который содержит их имена и идентификаторы, чтобы получить информацию об их использовании, просто используйте `https://graph.facebook.com/"+yourFriendId+"?access_token="+accessToken ' это вернет JSON, что вы можете анализировать и использовать
Пример

HttpClient httpclient = new DefaultHttpClient(); 
String url = "https://graph.facebook.com/me/friends?access_token=" + URLEncoder.encode(token); 
HttpGet httppost = new HttpGet(url); 
try { 
       HttpResponse response = httpclient.execute(httppost); 

       // to get the response string 
       BufferedReader reader = new BufferedReader(
         new InputStreamReader(
           response.getEntity().getContent(), "UTF-8")); 
       // used to construct the string 
       String res = ""; 
       for (String line = null; (line = reader.readLine()) != null;) { 
        res += line + "\n"; 

       } 
// here we will parse the response 
       JSONObject obj = new JSONObject(new JSONTokener(res)); 
       JSONArray data = obj.getJSONArray("data"); 
int len = data.length(); 
for (int i = 0; i < len; i++) { 
        JSONObject currentResult = data.getJSONObject(i); 
        String name = currentResult.getString("name"); 
        String icon = currentResult.getString("id"); 

        // do what ever you want 

       } 
} catch (ClientProtocolException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (JSONException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
+1

Спасибо, это было именно то, что я искал :-) – TRicks

+0

Мне нужен день рождения – Prasad

+0

Вы можете указать поля, которые хотите получить, как это я/друзья? Fields = birthday, name это вернет день рождения, если он доступен вам может использовать графический API-интерфейс API для поиска правильного URL-адреса для использования, указав нужные поля слева от https://developers.facebook.com/tools/explorer/145634995501895/?method=GET&path=me%2Ffriends%3Ffields%3Dbirthday% 2Cname & версия = v2.2 & – Amal

0

Если вы измените запрос URL только /me (т.е. https://graph.facebook.com/me?type=normal&method=GET&access_token=...) вы получите всю имеющуюся информацию о профиле для текущего пользователя, прошедшего аутентификацию.

Этот объект JSON должен иметь first_name и last_name, среди прочих атрибутов foud here.

Проверьте это handy API explorer tool, чтобы пообщаться с тем, что вы должны видеть.

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