2013-10-17 4 views
2

jsdk를 통해 관리인에게 페이지의 벽에 게시물을 보내려고합니다. 나는 그것이 내 자신의 사용자 (개인 사용자)를 위해 그것을 할 수있게 만들었지 만, 나는 그것을 "페이지"로 일하게 할 수 없다.jsdk에서 pagewall으로 피드를 게시

<div id="fb-root"></div> 
    <script type="text/javascript"> 
     function SendToFacebook() 
     { 
     window.fbAsyncInit = function() { 
      // init the FB JS SDK 
      FB.init({ 
       appId: '**CORRECT ID**',      // App ID from the app dashboard 
       channelUrl: '**MYPAGE**/channel.html', // Channel file for x-domain comms 
       status: false,         // Check Facebook Login status 
       xfbml: true         // Look for social plugins on the page 
      }); 

      FB.ui(
       { 
        method: 'feed', 
        name: 'MyFeed', 
        link: '', 
        // picture: '', 
        caption: 'My caption', 
        description: 'test', 
        message: 'MESSAGE?', 
       }, 
       function (response) { 
        if (response && response.post_id) { 
         alert('Delat på facebook.'); 
        } else { 
         alert('Inte delat på facebook.'); 
        } 
       } 
      ); 
      // Additional initialization code such as adding Event Listeners goes here 
      }; 

     // Load the SDK asynchronously 
     (function (d, s, id) { 
      var js, fjs = d.getElementsByTagName(s)[0]; 
      if (d.getElementById(id)) { return; } 
      js = d.createElement(s); js.id = id; 
      js.src = "//connect.facebook.net/en_US/all.js"; 
      fjs.parentNode.insertBefore(js, fjs); 
     } (document, 'script', 'facebook-jssdk')); 
     } 
    </script> 

내 자신의 사용자 페이지에이 글과 필자는 "을"매개 변수를 시도했지만 페이지에 내 개인 사용자의 게시물을 보낼 수 있습니다. 이 기능을 로그인 기능으로 만들 수있는 방법이 있습니까? 마음에 드네 메신저에 상당히 새로운 데모와 예제를 환영합니다.

+1

당신은 [페이지 액세스 토큰]를 사용해야합니다 (https://developers.facebook.com/docs/facebook-login/access-tokens /). 토큰은 현재 사용자 (및 사용 권한)를 식별합니다. 사용자 액세스 토큰을 사용하면 해당 토큰이 * 토큰이기 때문에 게시가 벽에 게시됩니다. – Lix

+0

이 작업을 수행하는 방법과 참조하는 방법에 대한 코드 예제를 제공 할 수 있습니까? – Jimmy

+0

모든 예제와 참고 자료는 내 의견에 게시 된 링크에 있습니다. – Lix

답변

4

나는 열심히 일한 후에 일하도록 만들었습니다. any1이 관심이 있다면 heres가 어떻게했는지 알 수 있습니다.

<script type="text/javascript"> 

     function SendToFacebook() 
     { 
      window.fbAsyncInit = function() { 
       // init the FB JS SDK 
       FB.init({ 
        appId: '***',      // App ID from the app dashboard 
        channelUrl: '***', // Channel file for x-domain comms 
        status: false,         // Check Facebook Login status 
        xfbml: true         // Look for social plugins on the page 
       }); 


       FB.login(function (response) { 
        FB.api('/me/accounts', function (apiresponse) { 

         var data = { 
          message: "mymessage", 
          display: 'iframe', 
          caption: "caption", 
          name: "name", 
          description: "description", 
          to: **wallid**, 
          from: **wallid** 
         }; 

         FB.api('/**wallid**/feed', 'post', data, function() { 
          console.log(arguments); 
         }); 


        }); 

       }, { scope: 'manage_pages' }); 

      }; 
      // Load the SDK asynchronously 
      (function (d, s, id) { 
       var js, fjs = d.getElementsByTagName(s)[0]; 
       if (d.getElementById(id)) { return; } 
       js = d.createElement(s); js.id = id; 
       js.src = "//connect.facebook.net/en_US/all.js"; 
       fjs.parentNode.insertBefore(js, fjs); 
      } (document, 'script', 'facebook-jssdk')); 
     } 
     </script> 
+0

큰 두통을 덜어 줘. 이 게시물을 올린 것에 대해 고맙다 @ 지미 – Paullo

0

내가이 솔루션을 발견하고 내가 3 년 전 잘 모릅니다하지만 내가 지금 당신이 나를 /를 통해받을 페이지 액세스 토큰을 추가 할 필요가 그것을 시도/호출 계정 (또한 당신의 관리자 여야합니다 해당 페이지 등) 솔루션을 작업 오늘은 다음과 같이 할 수 있도록 :

FB.api('/me/accounts', function (apiresponse) { 
       console.log(apiresponse); 
       var data = { 
        message: "mymessage", 
        //display: 'iframe', 
        caption: "caption", 
        picture: 'www.bla.com/image.jpg', 
        link: 'www.facebook.com', 
        name: "name", 
        description: "description", 
        to: **APP IP**, 
        from: **APP IP**, 
        access_token: apiresponse.data[0].access_token 
       }; 

       FB.api('/**APP IP**/feed', 'post', data, function() { 
        console.log(arguments); 
       }); 
      }); 
관련 문제