首先,抱歉我的英语不好。
我有一个安装在多个粉丝页面上的应用。
我想在此应用中使用apprequest对话框。当用户点击“邀请”按钮时,他会看到一个apprequest对话框来邀请朋友,但是通知会重定向到画布页面而不是粉丝页面上的app。
我使用此代码:
<head>
<title>Request Example</title>
</head>
<body>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<p>
<input type="button"
onclick="sendRequestViaMultiFriendSelector(); return false;"
value="Send Request to Many Users with MFS"
/>
</p>
<script>
FB.init({
appId : '123456789',
status : true,
cookie : true,
oauth: true
});
function sendRequestViaMultiFriendSelector() {
FB.ui({method: 'apprequests',
message: 'Example message',
show_error: true,
redirect_uri: 'https://www.facebook.com/pages/PAGE_ID?sk=APP_ID'
}, requestCallback);
}
function requestCallback(response) {
// Handle callback here
}
</script>
</body>
我做错了什么?画布页面的配置?重定向Uri?
谢谢!
答案 0 :(得分:1)
您没有做错任何事情,请求在接受时始终“传递”到画布URL。 您需要在应用可以用来决定重定向到哪个页面的请求中包含一些数据。
最简单的方法是使用“请求”对话框的data
参数。
所以在您的请求中发送代码:
function sendRequestViaMultiFriendSelector() {
FB.ui({method: 'apprequests',
message: 'Example message',
show_error: true,
data: "PAGE_ID_OR_SOME_OTHER_DATA_HERE",
redirect_uri: 'https://www.facebook.com/pages/PAGE_ID?sk=APP_ID'
}, requestCallback);
}
然后在应用程序画布上处理接受的请求时,检查请求对象的data
参数(对/REQUEST_ID_HERE
的GET请求将返回它)并根据该请求决定重定向到哪个页面