문제

나는 Facebook에 이미 자신의 제품 사진을 가지고있는 고객을위한 사이트를 개발하고 있으며 동일한 앨범을 그의 사이트에 복제하기를 원합니다. 나는 이미 Facebook Connect를 사용하고 있었기 때문에 photos.getAlbums 그리고 photos.get 갤러리를 동적으로 만들기 위해.

지금까지 너무 좋았지 만, 사용자 로그인 Trough FBC가 없으면 세션이 생성되지 않고 API를 공개적으로 사용할 수있는 콘텐츠에 대해서도 사용할 수 없다는 것을 깨달았습니다. 나는 분명히 자신의 계정을 연결하는 사람들뿐만 아니라 모든 사람에게 앨범을 보여주고 싶습니다.

이것이 Facebook API의 모든 기능이 어떻게 작동합니까? 이 상황에서 가장 쉽게 구현하기 쉬운 해결 방법은 무엇입니까?

도움이 되었습니까?

해결책

2010 년 9 월 현재, 당신은 이제 관련 사용자가없는 응용 프로그램으로 인증 할 수 있습니다. 보다 http://developers.facebook.com/docs/authentication/ 자세한 내용은. 또는이 예제 코드를 실행하여 액세스 토큰을 얻을 수 있습니다.

curl -F grant_type=client_credentials \
 -F client_id=your_app_id \
 -F client_secret=your_app_secret \
 https://graph.facebook.com/oauth/access_token

다른 팁

기록을 위해, 나는 클라이언트가 Facebook에 한 번 페이스 북에 로그인하고주는 작은 백엔드를 개발 하여이 상황을 해결할 수있었습니다. offline_access 연장 허가 FB 앱을 사용하여 세션 키를 저장하고이를 사용하여 FQL을 사용하여 비 공개 컨텐츠를 얻을 때마다 Facebook API 클라이언트를 인증 할 수 있습니다.

Facebook에 불필요한 요청을 피하기 위해 중간에 약간의 캐싱을 추가 할 수는 있지만, 내가 알고있는 한계에 도달하지 않고 몇 달 동안 잘 작동했습니다.

그것은 나에게 의미가 없습니다 - 나는 사용자가 전에 Facebook에 로그인 한 적이 없더라도 Facebook에서 렌더링하는 (비교적 간단한) 앱을 가지고 있습니다 (이 경우 데모 데이터를 표시합니다).

Facebook PHP 라이브러리를 사용할 때는 다음과 같습니다.

$ Facebook = 새로운 Facebook ($ API_KEY, $ SECRET);

세션 ID가 필요하지 않지만 분명히 사용자에 대한 정보에 의존하는 API 기능은 작동하지 않습니다.

당신은 또한 조사 할 수 있습니다 "무한 세션" 앱의 경우 직접 무한 세션 키를 만들고 해당 세션을 사용하여 API에 액세스 할 수 있습니다.

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