2012-01-09 29 views
5

删除关于这个问题:Dynamic generation of Facebook Open Graph meta tags查询带从开放图网址

我已按照以上说明,但该API似乎使传递到聚集的URL中不含的我的动态信息,以解除我的查询字符串。如果我将查询字符串输入到调试器中,它不会将其删除并且工作正常。我可以确认我的URL:元标记也包含相同的查询字符串,而不仅仅是基本的URL。我究竟做错了什么?

+0

我遇到了同样的问题。你有没有想过这个? – bradleygriffith 2012-01-24 23:08:06

+0

刚刚在这里解决了同样的问题:http://stackoverflow.com/questions/15378534/facebook-post-with-parameters/15387232#15387232 – deko 2013-03-14 06:07:54

回答

5

我有一个类似的问题,解决它像这样:

因此,假如你做你的POST请求喜欢它显示了tutorial,您选择的JavaScript可能看起来是这样的:

function postNewAction() 
    { 
     passString = '&object=http://yoursite.com/appnamespace/object.php'; 

     FB.api('/me/APP_NAMESPACE:ACTION' + passString,'post', 
     function(response) { 
       if (!response || response.error) { 
        alert(response.error.message); 
       } 
       else { 
        alert('Post was successful! Action ID: ' + response.id); 
       } 
      } 
    );  
    } 

既然你说你要生成meta标签动态,你可能会添加一个参数的URL(passString)有像这样:

passString = '&object=http://yoursite.com/appnamespace/object.php?user=' + someuser; 

这是错误的。

你需要做的是使url成为'漂亮的网址',并使用htaccess来破译它。所以:

passString = '&object=http://yoursite.com/appnamespace/object/someuser'; 

那么你的htaccess文件将告诉您的网站,该网址实际上相当于

http://yoursite.com/appnamespace/object/object.php?user=someuser 

然后你可以使用GET存储与PHP的用户参数,然后将其插入,只要你喜欢到您的元标记。

如果您选择不知道,在OG:URL meta标签的内容将是:

$url = 'http://yoursite.com/appnamespace/object/object.php?user=' . $_GET[$user]; 

这是否帮助?

+0

帮助我...他们的这个愚蠢的“功能”是烦人的工作 – 2015-10-29 16:55:39