2011-01-07 3 views
1

저는 작은 안드로이드 응용 프로그램에서 페이스 북 지원을 추가하려고합니다.Android 용 Facebook API : 사용자의 친구에 관한 확장 정보를 얻는 방법?

주요 문제 : 사용자의 친구 (ID, 이름)와 관련된 기본 정보 만 얻을 수 있습니다. 응용 프로그램 권한 (offline_access 그냥 테스트, 곧 제거됩니다 여기입니다)의 목록 : - :

mAsyncRunner.request("me/friends", new SampleRequestListener()); 

하지만 난 경우를 이름 쌍

String[] sPermissions = { "friends_about_me" 
         , "friends_birthday" 
         , "friends_location" 
         , "friends_website" 
         , "offline_access" }; 
mLoginButton.init(this, mFacebook, sPermissions); 

에 따라 요청이 잘 작동이 ID의 목록을 반환

mAsyncRunner.request("me/friends?fields=id,name,birthday,hometown", new SampleRequestListener()); 

서버가 반환 오류 더 많은 정보를 얻기 위해 변경 "활성 액세스 토큰이 현재 사용자에 대한 정보를 조회하는 데 사용되어야합니다." 브라우저를 사용하여 이러한 그래프 API 요청을 테스트했습니다. 둘 다 예상대로 작동합니다.

작은 말 :

응용 프로그램의 안드로이드 키 해시를 등록 : 난`이 apllication에 서명하고 페이스 북의 지시에 따라 페이스 북의 응용 프로그램 해시로 해시를 추가 할 기본 디버그 cetificate를 사용하여. Facebook에서 Android Android 앱과 대화 할 때 다른 앱이 앱을 사칭 할 수 없도록하기 위해 Facebook에서 사용합니다.

키 해시를 생성합니다

키 도구 -exportcert -alias [별칭] -keystore [스토어] | openssl sha1 - 이진 | openssl base64 Facebook 개발자 설정에서 모바일 및 장치 탭으로 이동하십시오.

Android 섹션의 키 해시 필드에 해시 키를 입력합니다.

어쩌면 다른 방법으로 사용자의 정보 (bday, 위치, 성별 등)를 얻을 수 있습니까?

답변

7

사용

mFacebook.request(graphpath, bundle);

이 방법 Bundle

graphpath = "me/friends" 
bundle.putString("fields","birthday"); 

처럼 그것이 당신에게 생일을 줄 것이다, 요청 방법 위의 호출 매개 변수를해야합니다하지만 당신은 friends_birthday를 추가해야 허가.

+0

당신은 나의 날을 만들었습니다 :). 감사! –

0

그래프 API에서 /me/friends을 호출하면 반환되는 모든 것은 친구의 ID와 이름입니다. 친구에 대한 자세한 정보를 얻으려면 /Friend_ID으로 전화하십시오.

+0

안녕하세요, 제안 해 주셔서 감사합니다. 나는 "나/friends/Friend_ID"라고 부르려고 애썼다 - APi는 모든 친구 (id : name)의 목록을 반환한다. –

+0

먼저 ID를 얻어서'/ me/friends'를 호출해야한다.그런 다음 모든 친구를 반복 할 수 있고 각각에 대해'/ Friend_ID' 만 ('me '없이) 호출합니다. 희망이 도움이 – Bartek

+0

@ Bartek :하지만 그것은 오래 걸릴 것입니다 .. 친구에 대한 정보를 얻으려면 .. – Surej

0

this 답을 확인하여 Facebook 친구 목록을 얻는 방법과이 친구들 중 누가 내 앱을 설치했는지 확인하십시오.

관련 문제