2012-02-07 2 views
0

나는 상당한 페이스 북 개발 경험을 가지고 있지만 이것이 내 머리카락을 끌어 당겼다. 그것은 아주 작은 것이어야하지만 그것을 얻을 수는 없습니다. 나는 최근 자신의 페이지를 방문한 사용자 이름 "환영합니다 [이름]"을 보여주는 환영 탭이있는 일부 Facebook 페이지를 보았습니다. 예 여기에 있습니다 : 허가없이 iframe 페이지 탭의 페이스 북 사용자 ID

https://www.facebook.com/Tony.Samaha.Official.Page

내 지식에 따라, 우리는 사용자에 의해 권한이없는 사용자 ID를 얻을 수 없습니다. 허가 후에는 서명 된 요청에서 사용자 ID를 얻을 수 있습니다. 위의 예와 비슷한 Facebook 사용자 ID 또는 이름을 얻으려면 어떻게해야합니까? 어떻게 작동합니까? 이것이 성취 될 수 있습니까?

참고 : iframe을 사용하고 있습니다.

답변

2

사용자는 여전히 이전의 정적 인 FBML 응용 프로그램을 사용하고 있으므로 대부분 fb:name 태그를 사용하고있을 가능성이 큽니다. 그래도, 지금은 더 이상 사용되지 않습니다. 따라서 실제로 연결된 페이지를 업데이트해야합니다.

+0

흠 나는 당신이 옳다고 생각합니다. "fb : name"은 잠시 동안 사용할 수 있습니다. 따라서 권한없이 사용자 아이디를 얻는 방법은 없습니다. –

3

signed_requests에 대한 설명서를 확인하십시오. 사용자가 애플리케이션을 방문하면 URL에 signed_request이 게시됩니다. 문서 상태 : 그들이

  • signed_request가에 승인 취소 콜백을 등록 한 모든 응용 프로그램에 전달되는 페이스 북 환경에로드 될 때 signed_request가 Facebook.com에 애플리케이션으로 전달됩니다

    • 주어진 사용자는 사용자가 성공적으로 응용 프로그램에 등록 할 때마다 signed_request가 등록 플러그인 를 사용하는 앱에 전달
    • 앱 대시 보드를 사용하여 응용 프로그램을 제거 할 때마다 개발자 앱

    이 요청을 디코딩해야합니다 (위의 링크 참조). 방문 사용자의 user_id를 추출 할 수 있습니다. 그런 다음
    https://graph.facebook.com/USER_ID과 같은 Graph API을 쿼리하면 에 사용자 이름이 포함되어야하는 해당 사용자의 공개 정보가 표시됩니다.

  • +0

    서명 된 요청의 "사용자 ID"부분을 가져 오기 전에 권한이 필요합니다. –

    +0

    페이지 탭 앱에 대해 이야기하고 있다면 - 사용자가해야 할 일은 페이지와 "좋아"하고 액세스 권한이 있습니다. 자신의 사용자 아이디에 – Lix

    +0

    서명 한 요청을 받고 있습니까? 그것을 파싱 할 수 있습니까? – Lix

    관련 문제