2011-12-30 8 views
1

저는 몇 가지 문제점을 다루며 누군가 통찰력이 있는지 궁금합니다. 최신 php-sdk를 사용하고 있습니다. 여러 단계가있는 캔버스 앱을 개발하고 있습니다. 이 단계는 여러 페이지에 걸쳐 있습니다. 이제 앱에 처음 들어가면 모든 것이 잘 작동하는 것 같습니다. 액세스 토큰이 있으며 API 함수를 호출 할 수 있습니다. 동일한 iframe에 연결된 두 번째 페이지에서 OAuth 오류가 발생합니다. 이제 API를 쿼리 (이 경우에 특별히 FQL 일)캔버스 페이지 응용 프로그램에서 새 페이지로 연결하는 올바른 방법 php-sdk

를 사용하려고 할 때

$me = $facebook->getUser(); 
var_dump($me); 

올바른 사용자 ID를 반환하지만, 난 여전히 오류를 얻을 : 지금이 2 페이지에 사용하는 경우 ,이 링크는 iframe 내에 있다는 것을 명심하십시오. 그래서 signed_request가 어딘가에서 길을 잃고 있다고 가정하고 있습니다. 페이스 북은 일반적으로 POST를 통해이 문제를 알려줍니다. http://apps.facebook.com/myapp/page2.php과 같은 URL로 target = "_ parent"에 대한 모든 링크를 설정하면 모든 것이 정상적으로 작동합니다. 이번에 페이스 북은 분명히 정확한 정보를 게시합니다. 그 다음에 iframe을 리디렉션하는 링크 만 사용하면 다시 작동합니다 (쿠키가 어딘가에 설정되어 있음을 의미 함).

이제 제대로 작동하는 것처럼 보이는 target = "_ parent"가없는 다른 앱을 보았습니다. 전체 Facebook 북 사이트가 아닌 다음 번의 클릭만으로 iframe을로드합니다. 그래서 나는 그들이 어딘가에이 정보를 저장하고 있다고 가정 할 수 있습니다. 나는 httpfox를 사용하여 이러한 앱을 검사하려고 시도했지만 아무 것도 볼 수 없다. 누구든지 여러 페이지 응용 프로그램에서 모범 사례를위한 링크가 있습니까? 전체 URL과 target = "_ blank"를 사용하여이 문제를 해결할 수 있다는 것을 알고 있지만 여기에서 무슨 일이 일어나고 있는지 알고 싶습니다. 개발자 문서와 캔버스 페이지 예제를 살펴 보았지만 나에게는 분명하지 않습니다.

어떤 도움이나 정보는

많은 감사

답변

0

당신을 위해 쿠키를 설정합니다 페이스 북 자바 스크립트 SDK를 (사용하여이

  • 을 달성하는 몇 가지 방법이 있습니다 감사 PHP-SDK 그렇게 될 것이다 그것을 의지 할 수있다)
  • 캔버스에로드 된 초기 페이지에서 signed_request을 포함한 페이지에 POST 요청을 발행
+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 페이지에 자바 스크립트 SDK가 있습니다. 스크립트가 제대로로드되고 있습니다. 이상한 점은 로그인을 위해 페이스 북을 사용하는 웹 사이트에서 똑같은 설정을 사용했기 때문에 완벽하게 작동한다는 것입니다. 나는 $ _REQUEST [ 'signed_request']의 값으로 쿠키를 설정하려고 시도했지만 다음 페이지에서도 액세스 할 수없는 것으로 보입니다. – TommyBs

+0

기술적으로 정확하다고 받아 들였지만, 따옴표가 누락되어 작동하고있었습니다. 이상한 것은 방화범 등이 js 로딩을 보여주는 것이었지만 명확하게 실행되지 않았습니다. – TommyBs