我无法联系那些有过喜欢的人。具有多个URL参数/参数的页面

时间:2011-11-07 08:27:43

标签: url parameters facebook-like opengraph feed

我对这个问题感到很疯狂,我希望你能为我找到答案,因为我已经搜索过这个问题了。我有一个WEB网站,它实现了“赞”按钮和“评论”按钮。我遇到的问题实际上是双重的:

第一

管理员(我)喜欢该页面时,“喜欢”按钮旁边的常用“管理页面”链接并不总是存在...我无法理解为什么,因为它们是完全相同的PHP页面从DB填充不同的信息,但它们具有相同的结构。所以我不明白为什么:

  • www.rafaelpolit.com/inicio/index.php?sid=14&gim=10

显示管理页面链接,而

  • www.rafaelpolit.com/inicio/index.php?sid=14&gim=183

不。 有什么想法吗?

第二

如果在“发布”下的“开放图谱协议”页面(https://developers.facebook.com/docs/opengraph/#publishing)中描述的过程实际可行,则上述问题不会成为问题!这是实际问题:

  • 我的页面使用URL中的两个参数来定义页面内容:一个是节,另一个是图像ID。

我使用单个网址属性的其他网页,工作正常!!!因此,如果我访问(我使用图表以简化目的):

它正确显示:

{
   "id": "117419061672096",
   "name": "Rafael P\u00f3lit - Macro y Objetos",
   "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/188186_117419061672096_2606222_s.jpg",
   "link": "http://www.rafaelpolit.com/inicio/index.php?sid=106",
   "likes": 2,
   "category": "Unknown",
   "website": "http://www.rafaelpolit.com/inicio/index.php?sid=106",
   "description": "-",
   "can_post": true
}

但是,如果我访问其中一个带有多个参数的URL的图形,例如:

它截断第二个参数并显示:

{
   "id": "http://www.rafaelpolit.com/inicio/index.php?sid=14"
}

正如你所看到的那样,你可以看到:

  • graph.facebook.com/159684077425429

Facebook页面实际上正常工作! :(如果我无法从我自己的网站以外的任何地方访问该页面,有没有办法真正了解Page_ID?

所以,总结一下我的问题:

  • 对于某些网页,我没有收到管理页面链接
  • 对于那些页面,我无法知道Page_id
  • 图表选项不适用于具有多个URL参数/参数的页面
  • 以完全相同的方式, https://graph.facebook.com/feed 选项不会向那些拥有多个网址的网页“喜欢”网页的用户发送消息参数,它适用于那些有单个参数的人。

如何访问包含两个或更多参数的页面信息?

我的最终目标是让这样的东西真正工作!:

<?php
$ogurl = urlencode("http://www.rafaelpolit.com/inicio/index.php?sid=14&gim=10");
define("FACEBOOK_APP_ID", "15xxxx84127xxxx");
define("FACEBOOK_SECRET", "xxxx5391830xxxx744b171f0d4b5xxxx");

$mymessage = "Thank you for 'Liking' my Picture.";

$access_token_url = "https://graph.facebook.com/oauth/access_token"; 
$parameters = "grant_type=client_credentials&client_id=" . FACEBOOK_APP_ID .
    "&client_secret=" . FACEBOOK_SECRET;
$access_token = file_get_contents($access_token_url . "?" . $parameters);

$apprequest_url = "https://graph.facebook.com/feed";
$parameters = "?" . $access_token . "&message=" .
    urlencode($mymessage) . "&id=" . $ogurl . "&method=post";
$myurl = $apprequest_url . $parameters;

$result = file_get_contents($myurl);

// output the post id
echo "post_id" . $result;
?>

我再说一遍:这很有效!如果我使用带有单个URL参数的页面的URL,如果我使用具有多个参数的页面的URL,则它不起作用。

有什么见解?这是一个复杂的问题,我不是母语为英语的人,所以请原谅延期和任何混淆。我感谢您提供的所有帮助!

非常感谢,

RafaelPólit。

PS。请原谅非工作链接,因为我是新的,其中只有两个实际上可以是链接。大多数工作都是复制粘贴链接,除了在开头需要https://的图形链接。谢谢你的理解。


修改1:

在回应@Abby的评论时,这是我正在使用的代码(希望格式化而不是我的评论中的回复)来插入按钮:

<div class="fb_cont ui-corner-all" style="width:706px">
<div id="fb-root"></div>
<script type="text/javascript">
//<![CDATA[
  window.fbAsyncInit = function() {
    FB.init({appId: '154581841273133', status: true, cookie: true, xfbml: true});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
//]]>
</script>
<div class="fb_cont_int" style="padding:5px;">
    <div class="fb_likeDiv" style="width:240px;">
        <div class="fb-like" data-href="http://www.rafaelpolit.com/inicio/index.php?sid=14&amp;gim=183" data-send="false" data-width="240" data-show-faces="true" data-colorscheme="dark" data-font="tahoma"></div>
    </div>
    <div class="fb_commentDiv" style="width:446px;">

        <div class="fb-comments" data-href="http://www.rafaelpolit.com/inicio/index.php?sid=14&amp;gim=183" data-num-posts="4" data-width="446" data-colorscheme="dark"></div>
    </div>
    <div class="dummy"><!-- --></div>
</div>
</div>

再次感谢@Abby调查我的问题。


0 个答案:

没有答案