문제

이벤트가 게시 된 Facebook 페이지를 소유/제어한다고 가정 해 봅시다. 이 이벤트를 다른 웹 사이트 (내 경우 WordPress 블로그, 그러나 중요한 부분은 아닙니다)에 "다가오는 이벤트"페이지에 표시하고 싶습니다.

내가 확실하지 않은 것은 : Facebook API가 "외부 적으로"사용 가능한가? PHP 라이브러리를 다운로드했으며 작동하는 데모 앱이 실행됩니다. Facebook 내에서 (즉, Facebook.com이 로그인 한 사용자에게 해석하고 표시하는 FBML을 방출하는 경우), 그러나 내 경우에는 사이트 방문자가 데이터를 직접 요청하는 것이 아니라 제 3 자 (내 웹 서버)가 페이스 북을 너무 자주 쿼리하기를 원합니다 (HTML /json/etc.) Facebook 자체에서.

Facebook API에서 이런 종류의 일이 가능합니까? 내 웹 서버는 어떻게 자체를 인증합니까? 어떤 정보를 저장해야합니까?

참고 : 코드를 요구하는 것이 아니라 "시퀀스 다이어그램"개념 수준에서 더 많은 정보를 찾고 있습니다. 그 부분은 나 자신을 알아낼 수 있습니다. ;) 불행히도 Google과 FB 개발자 Wiki는 전적으로 다가오는 것은 아닙니다. 코딩을 시작할 수 있도록 무엇을 알아야합니까?

도움이 되었습니까?

해결책

이것은 유사한 기능을 원하는 몇몇 고객을 위해 어떻게 수행했는지에 대한 기본 개요입니다.

  1. 유사한 기본 앱을 만듭니다 연장 권한, 특히 "offline_access"및 필요한 모든 것이 무엇이든
  2. 결과를 저장하십시오 세션 키 당신의 데이터베이스에서 uid
  3. 데이터베이스에 저장된 세션을 사용하여 제공하는 UID에 필요한 정보를 얻을 수있는 앱에 대한 안전하고 인증 된 웹 서비스를 작성하십시오.
  4. 웹 사이트에서 앱의 웹 사이트를 요청하여 특정 기간 동안 결과를 캐시하고 캐시가 만료되면 웹 서비스에 새로운 요청 만 수행합니다 (대부분의 경우 5-10 분을 사용합니다).

따라서 기본적으로 Facebook 앱은 웹 사이트와 사용자 간의 대리처럼 행동하여 합법적 인 수단을 사용하여 모든 인증 및 요청을 수행합니다.

여러 클라이언트의 요구에 대해 하나의 Facebook 앱 만 유지하고 싶었 기 때문에 WebService를 사용했습니다. 그것은 이와 같이 작동합니다 (아주 좋은 ASCII 아트 다이어그램에서) :

Facebook User 1 \                    / Client Website 1
Facebook User 2  --- Facebook App ---  Client Website 2
Facebook User 3 /                    \ Client Website 3

메모: 나는 페이지가 아닌 사용자를 위해 이것을 했으므로 마일리지는 다를 수 있습니다.

다른 팁

AFAIK 사용자 정보 외에는 Facebook에서 다른 데이터를 가져올 수 없습니다.

그러나 다른 방법으로 시도 할 수 있습니다. 이벤트 및 기타 관련 정보를 웹 서버에 저장하는 앱을 만들면 다른 웹 사이트가 해당 정보에 쉽게 액세스 할 수 있습니다.

넌 할 수있어 Events.get Facebook API를 사용하면 이벤트를 받으려는 페이지/프로필 ID를 제공합니다. 페이지 설정 방법에 따라 인증해야 할 수도 있고 모든 이벤트에 액세스해야하므로 Facebook 계정을 사용하여 간단히 사용하십시오. 아, 그리고 모든 페이지로드에서 Facebook을 누르지 않도록 캐싱을 많이하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top