在facebook分享和发布后重定向用户

时间:2012-02-20 20:59:59

标签: facebook button redirect share publish

如果用户发布,我如何将用户重定向到特定的URL?如果他跳过,我如何将用户重定向到另一个URL?

https://www.facebook.com/dialog/feed?
app_id=123050457758183&
link=https://developers.facebook.com/docs/reference/dialogs/&
picture=http://fbrell.com/f8.jpg&
name=Facebook%20Dialogs&
caption=Reference%20Documentation&
description=Using%20Dialogs%20to%20interact%20with%20users.&
message=Facebook%20Dialogs%20are%20so%20easy!&
redirect_uri=http://www.example.com/response

上面的示例将用户重定向到相同的网址,无论他是点击发布还是跳过。

我尝试了下面给出的例子:

   <script> 
  FB.init({appId: " id", status: true, cookie: true});

  function postToFeed() {

    // calling the API ...
    var obj = {
      method: 'feed',
      link: 'link to share',
      picture: 'gggg',
      name: 'ggg',
      caption: 'ggg.',
      description: 'ggg.'
    };

    function callback(response) {
      document.getElementById('msg').innerHTML = "Post successfully published, Post ID: " +     response['post_id'] + " click here";

var str = "Click here to activate your new timeline facebook profile!";
document.write(str.link("redirection url here"));


 }

    FB.ui(obj, callback);
  }

但上面的例子也无法给出结果。

3 个答案:

答案 0 :(得分:2)

<script type="text/javascript">
FB.init({appId: "YOUR_APP_ID", status: true, cookie: true});
  function share_me() {
    FB.ui({
      method: 'feed',
      app_id: 'YOUR_APP_ID',
      link: 'SHARE_URL',
      picture: 'PIC_URL',
      name: 'SHARE_NAME',
      caption: 'SHARE_CAPTION',
      description: 'SHARE_DESCRIPTION'
    },
    function(response){
      if(response && response.post_id) {
        self.location.href = 'SUCCESS_URL'
      }
      else {
        self.location.href = 'CANCEL_URL'
      }
    });
  }
</script>";
  <div onclick="share_me()">Share</div>

与你的有点不同,但我希望你明白这个想法。我们使用自己的框架,所以我不能保证FB初始化是正确的:(

答案 1 :(得分:1)

window.fbAsyncInit = function() {
    FB.init({
      appId            : 'FACEBOOK_APP_ID',
      autoLogAppEvents : true,
      xfbml            : true,
      version          : 'v3.3'
    });
  };
	function share_me(url,productlink) {
	FB.ui({
  method: 'share_open_graph',
      app_id: 'FACEBOOK_APP_ID',
      link: 'REDIRECT_URL',
       action_type: 'og.likes',
  action_properties: JSON.stringify({
    object:
	  {
		 'og:url': productlink, 
		'og:image': url 
	  }
  })
	
}, function(response){
  // Debug response (optional)
  if(response && response.post_id) {
        self.location.href = 'SUCCESS_URL'
      }
      else {
        self.location.href = 'CANCEL_URL'
      }
		
});
	self.location.href = 'REDIRECT_URL';	
	}
<script async defer src="https://connect.facebook.net/en_US/sdk.js"></script>

<div onclick="share_me()">Share</div>

答案 2 :(得分:0)

<a href="https://www.facebook.com/dialog/share?app_id=YOUR_APP_ID&display=popup&href=<?php echo get_permalink($product->id) ;?>&redirect_uri= REDIRECT_URL "><span>Share me</span></a>