我正在使用Phonegap编写应用程序。
我想给用户一些额外的好处,如果他们愿意,可以在他们的墙上发布应用程序(或类似的东西)。
有一个整洁的Cordova plugin,它非常彻底地涵盖了Facebook的功能,更重要的是,它本身就像它可以管理的那样。
如果这样的插件不可用,那么拥有用户的高级概述是什么:
我相信有一种方法可以使用Facebook的JavaScript SDK来做这些事情,但我从未见过应用程序问我的用户名和密码(这不是真正的Facebook应用程序)而且我不认为Facebook会对此感到高兴,那么最好的方法是什么呢?
此外,如果我想让用户在我的应用程序中使用Facebook登录,(想想Tinder)我应该保存哪些数据? Facebook登录令牌和设备ID?在使用Facebook和电话数据识别和存储服务器端的用户帐户信息时,最佳做法是什么?
答案 0 :(得分:1)
Facebook登录Android -
适用于Android的Facebook SDK提供了为您的应用实施Facebook登录的方法。 SDK为这些常见场景提供Facebook登录支持:
更多信息 - login-with-facebook。
手动构建登录流程 -
实施Facebook登录的最简单,最快捷的方法是使用我们的官方SDK for JavaScript,iOS和Android,我们建议您按照我们针对这些平台的单独指南进行操作。
但是,如果您需要在不使用我们的SDK的情况下为应用程序实现基于浏览器的登录,例如在本机桌面应用程序的Webview中(例如Windows 8),或使用完全服务器端代码的登录流程,您可以使用浏览器重定向为自己构建登录流程。
本指南将指导您完成登录流程的每个步骤,并向您展示如何在不使用我们的SDK的情况下实施每个步骤:
如需更多检查 - manually-build-a-login-flow。
<强>优点:强>
<强>缺点:强>
逻辑集成在一起,可在github上以OpenFB的形式获得。
示例 -
使用Facebook登录:
openFB.login(scope, successHandler, errorHandler);
获取用户的好友列表:
openFB.api({path: '/me/friends', success: successHandler, error: errorHandler});
发布用户的Feed:
openFB.api(
{
method: 'POST',
path: '/me/feed',
params: {
message: 'Testing the Facebook Graph API'
},
success: successHandler,
error: errorHandler
});
答案 1 :(得分:0)
您必须使用Facebook连接插件从cordova应用程序发布内容,或者我用来发布有关我的应用评论的其他方式是使用URL方式。 Facebook有一个提要对话/共享网址系统在Facebook上发布。只需使用本机浏览器调用它并使用正确的参数即可完成工作,facebook负责授权和发布,我不需要处理。
https://www.facebook.com/dialog/share?
app_id=145634995501895
&display=popup
&href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F
&redirect_uri=https://developers.facebook.com/tools/explorer
发现here不知道它是否会在inAppBrowser中工作,我只是调用原生浏览器。
要在应用内发布AFAIK,它必须是插件。
答案 2 :(得分:0)
OpenFB甚至比Apache Cordova插件更好。插件没有得到很好的维护。有时需要数月才能更新到最新版本的Facebook OpenGraph。 OpenFB不断更新。
答案 3 :(得分:0)
您只需使用JavaScript SDK即可。见https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.0
您可以选择使用标准组件或制作自己的按钮。您也可以让用户在最初授予权限后自动进行身份验证,或者始终按下按钮等。尽管FB文档很容易理解。