查询条从打开的图形URL中删除

时间:2012-01-09 15:02:58

标签: query-string facebook-opengraph

关于这个问题:Dynamic generation of Facebook Open Graph meta tags

我已按照这些说明操作,但api似乎删除了我的查询字符串,因此传入聚合的网址不包含任何动态信息。如果我将带有查询字符串的url输入到调试器中,它不会删除它并且工作正常。我可以确认我的og:url元标记也包含相同的查询字符串,而不仅仅是基本网址。我做错了什么?

1 个答案:

答案 0 :(得分:5)

我遇到了类似的问题并解决了这个问题:

因此,假设您正在执行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);
              } 
          }
      );    
  }

既然你说要动态生成元标记,你可能会在其中添加一个参数到url(passString):

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

这是错误的。

您需要做的是将网址设为'漂亮网址'并使用htaccess对其进行解密。所以:

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

然后您的htaccess文件会告诉您的网站该网址实际上等同于

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

然后你可以使用GET用php存储用户参数,然后将它插入你的meta标签中。

如果您想知道,在og:url元标记的内容将是:

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

这有帮助吗?