쓸만한 주저리

페이스북에 사진 올리기 + 유튜브 공유하기

봄돌73 2012. 6. 20. 17:12

<script>

  var feedcount=0

  window.fbAsyncInit=function(){

    FB.init({appId:'appId',

      status:true,

      cookie:true,

      xfbml:true,

      oauth:true

    })

    function updateButton(response){

      if(response.authResponse){

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

          $('#namespan').html(response.name)


          $('#logout_status').hide()

          $('table').show()

          $('#publish_frame').attr('src','publish_photo.asp')  //여기서 사진을 합성한 뒤, 만들어진 url로 부모 함수 호출, 이전 단계에서 사진이 만들어져 있다면 iframe 쓸 필요 없다.

        })

      }

      else{

        //user is not connected to your app or logged out

        $('#logout_status').show()

        $('table').hide()

      }

    }

    // run once with current status and whenever the status changes

    FB.getLoginStatus(updateButton)

    FB.Event.subscribe('auth.statusChange',updateButton)

  }


  function postToFeed(imgURL){

    //사진 올리기

    FB.api('/photos','post',{

        message:'message -> 클릭 url',  //사진이기 때문에 url을 따로 적어 주지 않으면 앱으로 이동시킬 방법이 없다ㅏ.

        access_token:'access_token',//사진 올릴 때는 토큰 필요

        url:imgURL

      },

      function(response){

        if(!response || response.error){

          $('#debug').html('Error occured:'+response.error.message);

        } else {

          $('#debug').html($('#debug').html()+'<br>Photo Post ID:'+response.id);

        }

      }

    )


    //게시물 올리기

    var publish={

      method:'stream.publish',

      //message:'message',  //있어도 없어도 된다.

      picture:'picture',  //url로 입력

      source:'youtube url',  //공유를 눌러서 소스보기를 했을 때, 예전 형식의 <object>에 들어가는 주소

      name:'name',

      caption:'caption',

      description:'description'

    }


    FB.api('/me/feed','POST',publish,function(response){

      if(!response || response.error){

        $('#debug').html('Error occured:'+response.error.message);

      } else {

        $('#debug').html($('#debug').html()+'<br>Post ID:'+response.id);

      }

    })

  }

</script>


publish.stream 권한 필요

사진은 url이 존재해야 하며,

유튜브는 공유를 눌러서 소스보기를 했을 때, 예전 형식의 <object> 태그에 들어가는 주소가 필요하다.