2012-01-15 1 views
0

나는이 문제에 잠시 동안 고생하고 있었고, 지금 막 포기했다. 정말 도움이 필요하다는 것을 깨달았고 비슷한 문제를 다루는 게시물을 찾을 수 없었다.추천에 의한 페이스 북의 캔버스 인증

페이스 북 앱을 만들려고합니다. (2012 년 1 월 1 일 이후로 변경된 사항이 있으시면 알려주세요) 캔버스 URL을 올바르게 설정했습니다.

이제 내 페이스 북에서 내 앱을 방문하면 apps.facebook.com/canvas-page와 같이 내 앱을 볼 수 있습니다. 그러나 인증에 문제가 있습니다.

내 앱에는 기본 정보와 액세스하려는 사용자의 이메일 주소가 필요합니다.

새로운 사용자가 인증 대화 상자를보고 내 앱을 방문 할 수 있도록 지금까지 내가 설정했습니다. 내 앱을 방문 할 때 위에서 말한대로 내 앱이 정보에 액세스 할 수있게하려고합니다. 그러나 내 캔버스 페이지에 나는 PHP 코드에 대해 다음했고, 아무것도, 나는 인증 대화 상자에서 페이스 북의 추천에 의해 내 응용 프로그램에 전달되는 정보를 볼 수 싶지 : 그러나

<?php 
    print_r($_GET); 
    echo "\n"; 
    print_r($_POST); 
    ?> 

슬프게도 이것은 나에게 빈 배열을주고, 그 밖의 것은 아무것도 없다.

내 페이스 북 앱에 꼭 필요한 것은 access_token과 사용자 ID입니다. graph.facebook.com/me?access_token=[access 토큰을 방문하면 현재 사용자의 ID에 액세스 할 수 있습니다. 어딘가]

내 첫 번째 문제, 두 번째 문제는 내가 페이스 북을 로그 아웃 할 때 apps.facebook.com/canvas-page를 방문 할 때 로그인하라는 메시지가 표시되지 않는 이유는 무엇입니까? 로그인 할 때 JavaScript를 사용하여 Facebook으로 리디렉션 한 다음 내 앱을 참조해야합니까?

는 현재 이러한>>>> 인증 추천을 인증 대화 상자 인증 추천> 사용자 & 친구 권한 = 이메일 설정을 인증 대화 상자를 설정 (내가 당신에게 줄 수 있도록 더 많은 정보 요청) 내 설정입니다> 인증 토큰 매개 변수 =? 코드 =

설정> 고급> 마이그레이션 = ALL 귀하의 응용 프로그램 (안 $ _POST,하지 $ _GET)에 데이터를 전송하는

답변

0

FB 사용 Signed Request 수 있었다. 그 부분에 대해 이라는 Sample Canvas App 장이 있습니다.

이처럼 얻을 수 php-sdk 사용 :

$signed_request = $facebook->getSignedRequest(); 

var_dump($signed_request); 

array (
    'algorithm' => 'HMAC-SHA256', 
    'expires' => 1326632400, 
    'issued_at' => 1326628636, 
    'oauth_token' => '***', 
    'page' => 
    array (
    'id' => '***', 
    'liked' => false, 
    'admin' => true, 
), 
    'user' => 
    array (
    'country' => 'cl', 
    'locale' => 'en_US', 
    'age' => 
    array (
     'min' => 21, 
    ), 
), 
    'user_id' => '***', 
) 

당신이 URL을 통해 app_data라는 매개 변수를 전달할 수 있습니다 게다가 :

"http://www.facebook.com/YourPage?v=app_1234567890&app_data=any_string_here" 

당신은 그것을 너무 $signed_request 드릴 것입니다.

... 
array (
    'algorithm' => 'HMAC-SHA256', 
    'app_data' => 'any_string_here', 
    'expires' => 1326636000, 
    'issued_at' => 1326629411, 
... 

의견을주세요! 감사합니다 .-

+0

저는'$ fb = new Facebook ($ config); var_dump ($ fb-> getSignedRequest)'그리고 NULL을 얻었습니다. 나는 그 문제를 해결하려고 노력 해왔다. 그래서 나는 조금 늦게 대답했다.문제는 내가 yii 프레임 워크를 사용하고 있다고 생각하고 다른 페이지로 리디렉션합니다. 사용자가 로그인하지 않은 경우 이것이 문제인 것 같습니다. – mur

+0

제가 문제를 해결했습니다. 문제는 리디렉션이었습니다. 왜 계속 NULL을 얻었고'print_r ($ _REQUEST)'도 아무것도 반환하지 않았습니다 ... 감사합니다. – mur

+0

@mursalat 훌륭합니다. 이 대답이 유용하다면 '확인 아이콘'을 클릭하여 좋은 것으로 인정하십시오. Sayonara ... –