我有一个Facebook应用程序,是一个粉丝页面内的选项卡。Facebook应用程序请求
我已经使用已签名的请求来查看用户是否喜欢该页面并基于该页面显示内容。
我还设法在提示用户登录并授予对应用程序的访问权限后使用获取Facebook用户标识。
我无法做到的是获得'apprequests'功能。我已经试了几种方法:
仅供参考 - 我使用这个版本的jQuery:https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<form id="form1" runat="server">
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({ appId: 'myappid', xfbml: true, cookie: true, oauth: true });
};
function inviteFriends() {
FB.ui({
method: 'apprequests',
message: 'Enter this cool competition http://www.facebook.com/pages/My-Test-Fan-Page/204123762998981?sk=app_308637695832192',
redirect_uri: 'http://www.facebook.com/pages/My-Test-Fan-Page/204123762998981?sk=app_308637695832192',
display: 'iframe'
},
function (response) {
console.log(response);
}
);
}
....
我这样做的时候,有2个问题(我认为它们可能是相关的) 1.请求未发送给选定的用户 2.响应的功能未被调用。 当我调用FB.ui方法时,我可以选择用户,但是当我这样做时,对话框会显示一个加载屏幕并关闭。
我发现奇怪的一件事是,当我没有包含'redirect_uri'参数(从我所看到的不应该是必要的),我得到一个错误,说应用程序没有拥有回调url 。
我自己也尝试做这种方式
var message = 'Enter this cool competition';
var requestUrl = 'http://www.facebook.com/dialog/apprequests?app_id=308637695832192&redirect_uri=http://localhost:51934/Default.aspx&message=' + message;
window.top.location.href = requestUrl;
这也似乎工作,我可以选择用户和它似乎工作 - 我得到我的[0],来添加用户[1]等查询字符串参数。
有什么我做的这是错的,可能是造成这种情况吗?当我要求用户授权应用程序时,我只是要求标准访问,据我所知,这是所有应该需要的。如果在页面ta内可以做些什么有一些限制,我也会游荡?
任何帮助将不胜感激。
#1是我的问题,并修复它!谢谢! – sevenseacat