2013-02-01 3 views
0

먼저 페이스 북에 로그인 할 수 있으며 이미 액세스 토큰을 SharedPreferences에 저장합니다. 그러나액세스 토큰에 대해해야 할 일은 무엇입니까?

,이 코드로 시도 :

JSONObject json_data = null; 
try  
{ 
    JSONObject response = Util.parseJson(new Facebook(Define.APP_ID).request("me/friends")); 

    JSONArray jArray = response.getJSONArray("data"); 

    json_data = jArray.getJSONObject(0); 
    String name = json_data.getString("name"); 


} 
catch (MalformedURLException e) 
{ 
    e.printStackTrace(); 
} 
catch (JSONException e) 
{ 
    e.printStackTrace(); 
} 
catch (IOException e) 
{ 
    e.printStackTrace(); 
} 
catch (FacebookError e) 
{ 
    e.printStackTrace(); 
} 

내가 "활성 액세스 토큰이 현재 사용자에 대한 정보를 조회하는 데 사용되어야합니다"오류를 얻었다.

어떻게해야합니까? 이미 액세스 토큰이 있습니다.

답변

0

거의 모든 것을 처리하는 Android 3.0 용 Facebook SDK를 사용하는 것이 더 좋지 않습니까? 콜백으로 친구의리스트를 돌려주는 Request 클래스로부터의 메소드 executeMyFriendsRequestAsync(Session session, Request.GraphUserListCallback callback)가 있습니다. 시작 안내서 : https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0. 이 가이드의 샘플 코드를 사용하고 실행되는 요청 유형을 변경하면 제공 한 코드에서 얻으려는 것과 동일한 정보를 얻게됩니다.

+0

고마워,이 방법을 시도하고 모든 내 친구를 검색 할 수 있습니다. 하지만 이름, ID, 사용자 이름과 같은 일부 데이터를 친구에게서 가져올 수 있습니다. 이 방법으로 더 많은 데이터를 얻으려면 어떻게해야합니까? – barssala

0

Facebook 개체에서 직접 요청하지 마십시오. 먼저 Facebook 개체를 만든 다음 AccessToken, 만료 시간을 설정 한 다음 아래 요청을 수행해야합니다.

FaceBook fb = new FaceBook(APP_ID); 

fb.setAccessToken("youraccesstoken"); 
fb.setAccessExpires(expires);//expires is your milliseconds time. 

는 당신은 당신이 유효한 인증 세션없이 정보를 요청하는 fb.request("me/friends");

로 요청을한다. 그래서 당신은 그 오류를 얻고 있습니다. 인증을하고 액세스 토큰을 설정하면 문제가 없습니다.

+0

미안하지만 여전히 같은 문제가 있습니다. 이것은 내가 잘못된 액세스 토큰을 가졌다는 것을 의미합니까? – barssala

+0

@barssala 나는 accesstoken을 제대로 저장하지 않았 으면 좋겠습니까? 그것을 확인하고 내 코드로 질문에 주어진 코드를 업데이트하십시오. 그렇지 않으면 시청자가 실수로 당신이 접근을 설정하지 않는다고 생각할 수 있습니다. 그러나 나는 그것을했기 때문에 그것이 작동해야하는 나의 코드로 바란다. – TNR

+0

내 액세스 토큰을 저장할 때 내 SharedPreferences에 대해 알려줘야합니다. 내가 맞습니까? – barssala

관련 문제