2011-03-23 4 views
0

iFrame에서 앱이 실행되는 곳에 Facebook 앱이 설정되어 있습니다. iFrame에는 Silverlight 앱을 래핑하는 index.html 만 포함되어 있습니다.iFrame에서 Facebook 내부에서 실행되는 Silverlight 앱에서 Facebook의 사용자 벽에 게시하는 방법은 무엇입니까?

모두 훌륭하지만, 지금 실버 라이트 앱 내부에서 사용자의 벽에 게시하고 싶습니다.

  1. , 인증, 하위 브라우저 페이지를 생성하기 위해 실버 페이스 북 SDK를 사용하여 토큰을 검색 한 다음에 뭔가를 넣어 벽
  2. 에 게시 :이 할 수있는 두 가지 방법이있을 수 있습니다 것처럼 나에게 보인다 내 래퍼 index.html 내 실버 라이트 컨트롤에 필요한 애플 리케이션 토큰을 전달하고 그 컨트롤에서 (자바 스크립트로?) 게시 할 수 있습니다.

두 번째는 훨씬 더 매력적인 옵션처럼 보이지만 처음에는 내가하는 법을 아는 유일한 사람입니다. 누구나 더 좋은 경험/생각을 얻었습니까?

크리스

답변

0

당신이 뭔가를 할 수 내 페이지에서 다음과 같이하십시오 :

세션 개체에는 추가 필드가 있지만 (확실하지는 않습니다). BTW, getLoginStatus 함수는 자신의 상태 만 확인하는 사용자를 기록하지 않습니다. 그들은 (아마도) 귀하의 앱을 사용하고 있으며 아마 (아마도) 앱을 허용했기 때문에 이것은 정상적으로 작동해야합니다. (당신은 그들에게 로그인을시키고 앱을 허용 할 필요가있다. 그리고 당신은 잠재적으로 허가를 요청할 필요가있다.이 경우 당신은 그들의 피드에 퍼블리시하고 싶어한다). 색인 페이지에 FB 자바 스크립트가 포함되어 있어야합니다 (제대로 설정되어 있어야합니다).

자세한 내용은 FB 문서를 참조하십시오. http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

0

아마도 : 3) 사용자가 스트림 이야기 자체를 게시 할 수 있도록하는 자바 스크립트 SDK 페이스 북을 사용? 이미 fb.init 기능 등 모든 설정을 가지고 있다면 (당신이 원하는 경우, 아래에있는 일부 게시물을 추적하는 것입니다), 다음 만이 (같은)를 호출 :

FB.ui(
     { 

      display:'iframe', 
      method: 'stream.publish', 
      caption: 'blah', 
      description: 'hey there. wow., 
      name: 'yo', 
      link: 'http://foo.com', 
      picture: 'http://image.com/blah.gif', 
      action_links: [ 
         { 
         text: 'Try for free', 
         href: 'http://foo.com' 
         }], 



     }, 
      function (response) { 
       if (response && response.post_id) { 
       var URL = '/pages/ajax_InsertUserFacebookPost.aspx?'; 
       URL += 'facebookpostid=' + response.post_id; 
       //alert(URL); 
       $.ajax({ 
         type: "GET", 
         url: URL, 
         data: "{}", 
         contentType: "application/json; charset=utf-8", 
         dataType: "json", 
         async: true 
        }); 


       } else { 
        //alert('Post was not published.'); 
       } 
      } 
      ); 
관련 문제