2011-12-25 3 views
1

간단한 페이스 북 캔버스 앱을 개발 중입니다. http://developers.facebook.com/docs/appsonfacebook/tutorial/ 내 응용 프로그램에서대화 후 피드가 리디렉션되지 않음

, 나는 그것을 공유 할 수 격려하고 싶은, 그래서 나는 (첫번째 자바 스크립트 예제)이에 따라 공급 대화 상자를 만들려고 : 나는 문서에이 페이지를 다음했다 http://developers.facebook.com/docs/reference/dialogs/feed/

I 링크를 공유 할 수는 있지만 공유를 클릭하거나 취소 한 후에는 아무 것도 나타나지 않습니다. redirect_uri 매개 변수를 정의했습니다. 앱 설정에 정의 된 것과 동일한 도메인 URI입니다. 이상한 점은 닫기 버튼 (X)을 클릭하면 redirect_uri의 페이지가 iframe 대화 상자의 라이트 박스에로드된다는 것입니다.

어떤 아이디어가 좋을까요? 오랫동안 인터넷 검색 결과가 나타나지 않았습니다./

답변

0

설명서에 따르면 redirect_uri는 사용자가 취소를 클릭하거나 공유하지 않고 대화 상자를 닫은 경우에만 사용할 수 있습니다. 그들이 공유하면 어디로 가는지 그들의 문서에서 말할 수 없어. 그러나 iframe 대화 상자가 페이지를 중첩시키는 상황은 매우 이상합니다. 내 첫 번째 본능은 앱 설정에서 잘못된 것이 있다는 것입니다. 페이스 북 앱의 http 버전과 https 버전을 모두 지정했는지 확인하십시오.

+0

감사합니다. 설명서에 따르면, 모든 버튼을 클릭 한 후에 redirect_url을 사용해야한다고 가정합니다. ("사용자가 대화 상자의 버튼을 클릭 한 후 리디렉션되는 URL입니다.") 하지만 가장 큰 문제는 아닙니다. 앱 설정에 관해서는 : 나는 실제 https가있는 서버에 액세스 할 수 없으며, 추한 오류가 발생하는 자체 서명 된 인증서로만 액세스 할 수 있습니다. 이것이 문제가되어야합니까? 유료 인증서없이 웹 서버를 사용할 때 몇 가지 해결 방법이 있습니까? –

+0

이제 실제 https 사이트가 있어야합니다. 저는 그것이 유료 인증서로만 이루어질 수 있다고 생각합니다. 그렇지 않다면 뭔가 인터넷에 문제가있어 다시 https 사이트에있는 것을 절대 믿지 않을 것입니다 ... – DMCS

+0

예, 인증서가 없으면 https를 시뮬레이트 할 수있는 방법이 없다는 것을 이해합니다. :) 그러나 나는 캔버스 앱 페이지에 https 연결이 필요없는 페이스 북. 그럼에도 불구하고 답장을 보내 주셔서 감사합니다. https가 누락 된 것으로 의심되어 해결책으로 보이는 일부 페이스 북 클라우드 서비스 파트너를 통해 호스팅을 시도하고 있으며 소규모 애플리케이션에는 무료로 제공됩니다. –

0

페이 스북 피드 대화에서 사용 가능한 동일한 코드입니다. 내가 애플 리케이션 요구 사항을 채택하기 위해 그것을 변경하고 라이트 박스가 redirect_uri로 '#'을 사용하는 경우 취소합니다. 그렇지 않으면 document.location을 감사 페이지로 이동시키는 응답 함수를 사용합니다. 문제 해결에 도움이되기를 바랍니다.

<script src='http://connect.facebook.net/en_US/all.js'></script> 
<script> 
    FB.init({appId: "<?=$config['appId'];?>", status: true, cookie: true}); 

    function postToFeed() { 
    // calling the API ... 
    var obj = { 
     method: 'feed', 
     redirect_uri: '#', 
     link: 'https://www.facebook.com/MyPageName/app_<?=$config['appId'];?>', 
     picture: 'https://www.abc.com/fbapp/img/welcome.jpg', 
     to: friendId,// js variable I am fetching from radio button selection 
     name: 'App Blah Blah', 
     caption: 'your_caption', 
     description: 'your_description' 
    }; 

    function callback(response) { 
// I commented out message print in div 
//   document.getElementById('msg').innerHTML = "Post ID: " + response['post_id']; 

// check weither feedback is valid 
     if(typeof(response)!='undefined'){ 
      document.location = 'thankyou.php'; 
     } 
    } 

    FB.ui(obj, callback); 
    } 

</script> 
관련 문제