-1

如何使用 PHP-SDK 或 Javascript SDK 实现“向朋友推荐我的页面”?

4

2 回答 2

2

首先,您需要包含 base_facebook.php、facebook.php 和 fb_ca_chain_bundle.crt 的 Facebook SDK 包。您还需要 fbmain.php 和 config.php 。

接下来你应该有一个包含 fbmain.php 的文件(例如 postToWall.php)

<?php
include_once "fbmain.php";
?>

postToWall.php 文件的示例。

<html>
    <body id="my_body">
    <div id="fb-root"></div>
     <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId: '<?php echo $facebook->getAppID() ?>',
          cookie: true,
          xfbml: true,
          oauth: true
        });

        FB.Canvas.setAutoGrow();
      };

      (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>

    <?php

        if ($me)
        {
            $params = array('message' => "message here",
                            'picture' => "picture hyperlink here",
                            'name'  => "name here",
                            'link' => "facebook page hyperlink here",
                            'description' => " description here"
                            );
            $status = $facebook->api('/me/feed', 'POST', $params);

            if (isset($status['id']))
            {
                        //do something
            }

        }
    ?>
    </body>
</html> 

感谢我的导师 Zen Leow 先生

于 2012-06-01T14:33:16.717 回答
1

我之前发布的解决方案是使用 PHP SDK 方法。

使用 JavaScript SDK,您可以拥有一个使用 onclick 属性调用函数的 HTML 按钮。

<input type="button" value="Share" onclick="share();"/>

在 share 函数中,method 属性是强制性的,其他属性(链接、图片、名称、标题、描述)是可选的。方法属性中的“feed”值是指您需要的提要对话框,方法属性还有其他值,例如“apprequests”(请求对话框)和“send”(发送对话框)。有关更多信息,请查看http://developers.facebook.com/docs/reference/dialogs/

<script>
        function share()
        {
            var obj = {
              method: "feed",
              link: "Facebook page hyperlink",
              picture: "Picture hyperlink",
              name: "Title",
              caption: "A short caption right below the title",
              description: "Description"
            };

            function callback(response) {
              document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
            }

            FB.ui(obj, callback);
        }
</script>

PHP SDK 和 JavaScript SDK 的区别

对于 PHP SDK,在 postToWall.php 中指定的默认消息将在单击共享按钮后直接发布到用户的墙上。您必须先将用户重定向到 postToWall.php,然后将他/她重定向回您的应用程序页面。

对于 JavaScript SDK,点击分享按钮会弹出一个窗口,用户可以在发送之前输入自己的消息。发送后不需要额外的重定向,因为用户仍在同一页面上。

PS:我现在还在学习Facebook和PHP,如果我犯了任何错误,请纠正我哈哈。谢谢 =)

于 2012-06-03T09:03:21.153 回答