首先,我知道有很多关于这个话题的问题和答案。但是,他们都不适合我(也许是因为他们老了,方法已经过时了,我不知道)。让我简单地解释一下我的问题:
我试着用登录CocoonJS的扩展权限已经有两个星期了,我完全做不到.我可以使用基本权限()成功地登录,一切都如预期的那样工作,但我想不出如何请求扩展权限.当使用可选的params调用Cocoon的FB登录时,只请求基本权限,因此实际上似乎Cocoon (或FB)忽略了扩展请求
var socialService = CocoonJS.Social.Facebook.getSocialInterface();
socialService.login(function(loggedIn, error) {
if (error) {
console.error("login error: " + error.message);
}else if (loggedIn){
console.log("login suceeded");
CocoonJS.Social.Facebook.getLoginStatus(function(response) {
if (response.status === 'connected')
CocoonJS.Social.Facebook.api("/me/permissions",
function (response) {
if (response && !response.error) {
console.log("Granted perms.: "+JSON.stringify(response));
}else{
console.log("ERROR: unable to retrieve permissions");
}
}
);
}
});
}, { 'scope': 'user_photos,publish_actions',return_scopes: true });问题是,登录功能似乎正常工作,打印了“登录成功”日志,以及“授予perms”。日志。但是,它只显示基本权限,完全忽略“user_photos”和“publish_actions”权限(它们甚至没有出现在检索到的列表中.
我试着用'scope',scope,'perms'.但是没有什么能改变结果。我在CocoonJS论坛上问过,我在谷歌搜索了两个星期,尝试了不同的解决方案,不同的Facebook帐户,甚至尝试硬编码CocoonJS的FB登录功能中的扩展params (这会导致崩溃),但是没有任何效果.
有人知道怎么做到吗?
提前感谢您的时间和努力!
发布于 2014-05-26 13:37:30
CocoonJS将“作用域”参数解析为带有逗号分隔值的字符串。但这些许可权值与只读会话登录一起使用。Facebook已不推荐使用"publish_actions“权限登录,并建议应用程序在登录期间请求最低限度的读取权限,然后在实际需要时请求任何附加的或发布的权限。
我建议您以这样的方式请求扩展权限:
CocoonJS.Social.Facebook.requestAdditionalPermissions("publish", "publish_actions", function(response) {
callback(response.error ? false : true);
});https://stackoverflow.com/questions/23866161
复制相似问题