Facebook应用程序请求
问题描述:
我想在页面选项卡应用程序中实现Facebook请求。我在这里看到http://developers.facebook.com/docs/appsonfacebook/tutorial/的教程,但问题是,我想只有当有人访问像Facebook应用程序请求
<a href = "something">Send to friends</a>
如何任何想法才能做到这一点的链接,执行下面的代码?谢谢!
$requests_url = "http://www.facebook.com/dialog/apprequests?app_id="
. $app_id . "&redirect_uri=" . urlencode($the_url_of_the_tab_page)
. "&message=" . $message;
if (empty($_REQUEST["request_ids"])) {
echo("<script> top.location.href='" . $requests_url . "'</script>");
} else {
echo "Request Ids: ";
print_r($_REQUEST["request_ids"]);
}
答
的request dialog是你在找什么:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="https://www.facebook.com/2008/fbml">
<head>
<title>Request Tester C</title>
</head>
<body>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<p>
<input type="button"
onclick="sendRequestToRecipients(); return false;"
value="Send Request to Users Directly"
/>
<input type="text" value="User ID" name="user_ids" />
</p>
<p>
<input type="button"
onclick="sendRequestViaMultiFriendSelector(); return false;"
value="Send Request to Many Users with MFS"
/>
</p>
<script>
FB.init({
appId : 'YOUR_APP_ID',
status : true,
cookie : true,
oauth: true
});
function sendRequestToRecipients() {
var user_ids = document.getElementsByName("user_ids")[0].value;
FB.ui({method: 'apprequests',
message: 'My Great Request',
to: user_ids,
}, requestCallback);
}
function sendRequestViaMultiFriendSelector() {
FB.ui({method: 'apprequests',
message: 'My Great Request'
}, requestCallback);
}
function requestCallback(response) {
// Handle callback here
}
</script>
</body>
</html>
所以你的“链接”不应该叫真正的网址,而是一个JavaScript函数来打开请求对话框(在上面例如它将是sendRequestViaMultiFriendSelector()
)。
我试过这样,它会引发错误:API错误代码:191 API错误描述:指定的URL不属于应用程序 错误消息:redirect_uri不属于应用程序。 虽然我不在上面的脚本中声明任何新的url。 (没有这个脚本我不知道;任何错误,任何提示?谢谢!) – dana
@dana你是否已经将上例中的'appId'改为你的?您的应用程序域设置为您的应用程序设置中的什么? – ifaour
是的,现在它可以工作(对话框),但并不实际发送邀请:(我的意思是目标用户没有收到任何使用应用程序的通知 – dana