如何使用 PHP-SDK 或 Javascript SDK 实现“向朋友推荐我的页面”?
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 先生
我之前发布的解决方案是使用 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,如果我犯了任何错误,请纠正我哈哈。谢谢 =)