2012-06-13 3 views
0

나는 내 웹 사이트에서 PHP를 사용하여 Facebook App을 만들었습니다. 내 웹 사이트에서이 응용 프로그램을 사용하려면 사용자는 Facebook 인증을 사용하여 로그인해야합니다.신청서를 통해 다른 사람의 담벼락에 Facebook 게시

기본적으로이 앱은 사용자가 벽에 기본 댓글을 게시 할 수있게합니다. 그것은 내 페이스 북의 프로필 계정을 사용하여 잘 작동하지만 내 친구가 내 사이트를 사용하도록 요청했을 때 다음과 같은 오류가 발생합니다. - '잡히지 않음 OAuthException : (# 200) 사용자가'

나는 그것이 통합하려는 대신에 - 내가 그것을 클릭하여 사용자에 대한 내 응용 프로그램에 대한 링크를 작성하지 않으

https://www.facebook.com/login.php?api_key=API_KEY&cancel_url=http://www.magimagi.com&next=http://magimagi.com/login/uploadtopage2.php&fbconnect=1&return_session=1&session_version=3&v=1.0&display=page&req_perms=user_about_me,user_birthday,publish_stream,offline_access 

-

내가 지금까지 발견 내 문제에 대한 유일한 해결책은 다음 URL을 입력하여입니다 PHP 코드는 이미 내 웹 사이트에 있습니다. 여기

내가 이것은 HTML

<form id="selectFriend" name="selectFriend" method="post"> 
<label for="Friend">Friend:</label> 
<select id="friend" name="friend"> 
<?php 
foreach($user_friends['data'] as $f){ 
echo '<option value="'.$f['id'].'">'.$f['name'] .'</option>'; 
} 
?> 
</select> 
<label for="URL">URL:</label> 
<input id="link" name="link"> 
<input id="message" name="message"> 
<input type="submit" name="submit" id="submit" value="Send!"> 

나는 등이 거의 모든 문서를 읽어 ...하지만 불행하게도 내가 관리하지 않았다에게 있습니다

/ Get User ID 
$user = $facebook->getUser(); 

if ($user) { 
try { 
$user_profile = $facebook->api('/me'); 
} catch (FacebookApiException $e) { 
error_log($e); 
$user = null; 
} 
} 
if ($user) { 
$logoutUrl = $facebook->getLogoutUrl(); 
} else { 
$loginUrl = $facebook->getLoginUrl( array(
'scope' => 'publish_stream' 
)); 
} 

이 샘플 PHP 코드입니다.

왜 다른 사람의 프로필에서 작동하지 않는 동안 내 프로필을 사용하고 있는지 궁금합니다.

아직 초보자이므로 모욕을 피하십시오!

+0

귀하의 비하 한 의견을 저장하는 것은 어떻습니까! – Herbert

답변

0

귀하의 코드는 내가 볼 수있는 한 오래된 것입니다. 인증 대화 상자 (특히 req_perms) 호출에서 사용하는 매개 변수는 2011 년 10 월에 사용되지 않을 예정이었습니다 - 현재 (수동) 리디렉션 방법 PHP는 SDK의

https://www.facebook.com/dialog/oauth? 
    client_id=YOUR_APP_ID 
    &redirect_uri=YOUR_REDIRECT_URI 
    &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES 
    &state=SOME_ARBITRARY_BUT_UNIQUE_STRING 

getLoginUrl() 메소드가 사용자를 보낼 것입니다, 당신의 코드를 처리 할 때 code는 대신 통화를하는 데 사용할 수있는 access_token을 얻을 것이다 반환 : 정식 대화 상자입니다 사용자

전체 서비스에 대해서는 https://developers.facebook.com/docs/authentication/server-side/을 참조하십시오. 어 사이드 흐름

+0

어떻게 PHP 코드에 통합 할 수 있습니까? 고객에게 넘겨주고 링크로 게시하면 유용하다고 생각하지 않기 때문입니다. Igy 감사합니다. –

+0

SDK와 함께 배포 된 예제는이 흐름이 어떻게 작동하는지 보여줍니다. – Igy

+0

정확하게 무엇입니까 - & state = SOME_ARBITRARY_BUT_UNIQUE_STRING –