带有 Facebook 身份验证的 Native Sencha Touch 应用程序
Posted
技术标签:
【中文标题】带有 Facebook 身份验证的 Native Sencha Touch 应用程序【英文标题】:Native Sencha Touch app with Facebook authentication 【发布时间】:2013-08-01 12:41:38 【问题描述】:有人曾在 Sencha Touch 中创建过原生 android/ios 应用并实现 Facebook 身份验证吗?如果是这样,您可以分享您的代码/方法吗? 我已经浏览了这个链接https://developers.facebook.com/docs...login/devices/,但似乎 Facebook 还不支持它。
我只想在应用程序中提供一个简单的按钮,并从 Facebook 获取用户的 Auth 令牌并将此应用程序打包到 Native 中。
上述问题在煎茶论坛中没有得到解答。我已经为更多的观众复制了这里,并且在我试图完成同样的事情时需要你的建议。Link to Sencha forum
问候 普尼斯
【问题讨论】:
你在用Phonegap吗?please share your code/method
不是寻求帮助的方式。如果您发布足够的努力和研究,SO 社区将帮助您编写自己的代码。关于问题,您可能想先弄清楚一些事情。您是在使用 phonegap 还是打算使用 facebook js sdk w/o phonegap?
如果使用其他框架(如 phonegap)的选项很好,我愿意利用它。在问这个问题之前,我做了一些小功课。无法完全理解 sencha touch 集成的概念和可用资源。这是唯一的希望。
@NicoGrunfeld,到目前为止我还没有使用它。我需要 Facebook 登录页面,因为它在网络浏览器中打开。像 jogwithfriends 和其他应用程序使用额外的代理层和 php 来实现它,我不想这样做。 google oauth 也不支持跨域的 jsonp。
@all,最重要的是,我对高级 javascript 的了解不足正在阻止我进行更多探索......我正在考虑在本机应用程序库中开发我的应用程序..
【参考方案1】:
我制作了一个使用 PhoneGap 构建的 Sencha Touch 应用程序,并托管在两个主要商店(Google Play 和 Apple Store)上,并具有 FB 共享功能。我使用了 PhoneGap (https://github.com/phonegap/phonegap-plugins/tree/master/Android/FacebookConnect) 的“FacebookConnect”插件。我使用以下代码分享了一个链接:
window.plugins.facebookConnect.dialog('feed',
link: mylink,
picture: mypicture, // provide not a local url. otherwise, FB does not display nothing and rises an "FBCDN image is not allowed in stream" error
name: myname,
caption: mycaption,
description: mydescription
,
function(response)
console.log("FacebookConnect.dialog:" + JSON.stringify(response));
);
如果尚未登录 FB(例如,使用已安装的 FB 原生应用程序),插件将在打开共享对话框之前向用户显示基于 Web 的登录窗口。
在此之前,请记住在您的应用中使用类似的东西来初始化 FB API:
window.plugins.facebookConnect.initWithAppId(FBID, function(result)
console.log("FacebookConnect.initWithAppId: " + JSON.stringify(result));
// Check for cancellation/error
if(result.cancelled || result.error)
console.log("FacebookConnect.initWithAppId:failedWithError: " + result.message);
return;
);
另外记得不要在应用启动时调用FB API登录方法,否则Apple会拒绝申请。
我希望这对您的项目有用。
【讨论】:
github.com/phonegap/phonegap-plugins/tree/master/Android/… 链接已弃用。详情查看github.com/phonegap/phonegap-plugins 你是用Sencha命令行工具生成PhoneGap项目,还是把sencha代码放在phonegap的www/文件夹下?以上是关于带有 Facebook 身份验证的 Native Sencha Touch 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
如何使用带有 iOS SDK 的 Facebook 身份验证通过 DynamoDB 和 Cognito 存储用户信息
带有 JSON 的 Spring security facebook 身份验证插件不会创建 jsessionid
使用 Facebook 的访问令牌在 UIWebView 中显示带有经过身份验证的用户会话的粉丝页面
无法使用 iOS SDK 和本机 Facebook 应用程序对 Facebook 进行身份验证