带有 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 进行身份验证

无法使用 Flutter 和 Firebase 设置 Facebook 身份验证

在没有身份验证的情况下在 facebook 上发布(与用户交互)