Android Facebook 登录和网络服务器

2023-11-22

我正在开发一个 Android 应用程序和一个网站(也与 Android 客户端进行通信)。我想使用 FB 登录,但我看到的问题是:

客户端,使用FB登录,然后获取access_token。

客户端和 Web 服务器如何仅使用此 access_code 进行通信,因为 Web 服务器需要知道客户端引用的是哪个帐户。我也想在网站上实现FB登录。

我想到的一种方法是:

客户登录: 1)使用FB登录并获取access_token。 2)使用access_token获取一些用户信息。 3) 将 access_token 和用户信息提供给 Web 服务器。 4) Web 服务器也使用 access_token 执行相同的 FB 操作并检索用户信息。 5) 验证用户信息匹配并据此确定用户帐户。 6) 在客户端和Web服务器之间为此链接建立另一个access_token。

这是否会使其更加有效,或者可能只是进行登录并检索用户电子邮件地址作为实际帐户,并告诉 Web 服务器这是要使用的帐户。

或者有人以另一种方式做到了这一点?


对于客户端/服务器之间的通信,您应该使用自己的客户端 ID。
不要转发 Facebook 给您的 access_token,因为它在多种情况下发生了变化。
获取电子邮件也不是完整的解决方案,因为用户可以决定不向您提供他们的邮件。

一般来说,您需要在双方都实施 Facebook Connect。

1.连接至脸书
2.从用户处获取权限(在此处阅读有关权限的信息:http://developers.facebook.com/docs/reference/api/permissions/)
3.注册为您的用户并给他一个ID(如果您愿意,您可以使用facebook uid)。

当用户返回您的网站/应用程序时,您需要再次登录他,获取他的 uid 并查询您的服务器以获取用户详细信息。

关于 access_token 的一件事是,您需要它来查询 facebook 的 api。每次用户使用 facebook 登录您的网站/手机时,您都可以从 facebook 获取它,或者您可以请求用户离线访问权限,然后您将拥有相同的 access_token,直到用户在 facebook 等更改密码为止。(阅读更多关于它在文档中)。
尽管用户当前未登录到您的网站,但此方法允许您查询 facebook api。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Facebook 登录和网络服务器 的相关文章

  • 为什么 Kotlin 数据类可以在 Gson 的不可空字段中包含空值?

    在 Kotlin 中你可以创建一个data class data class CountriesResponse val count Int val countries List
  • 如何改变android中menuItem的背景颜色?

    我正在以编程方式将菜单项添加到菜单中 我想在选择特定项目时添加背景颜色 如何为 menuItem 添加背景 您的回答将不胜感激 虽然其他答案提供了更改样式 这会影响all菜单项 据我了解 需要更改一个菜单项 我建议你使用android ac
  • Web 服务调用后响应对象中的属性为 null

    我可以在 Fiddler 中看到该对象 但该对象在我这边没有反序列化 有没有人见过这个 响应为空 或 响应包含空值 或 请求为空 或 请求包含空值 几乎总是意味着命名空间不匹配 例如 响应可能包含
  • Android studio 在日志猫中“清除全部”,更改日志级别过滤器时日志仍然会回来

    在 LogCat 中 当我单击 全部清除 按钮时 它似乎清除了所有日志 但是 如果我更改日志级别并返回到之前的日志级别 则所有日志都会返回 例如 我正在查看 Verbose 我选择 全部清除 日志清除 我切换到 调试 我切换回 详细 现在所
  • doInBackground 运行时是否可以停止 asynctask?

    我正在 ActivityB Oncreate 中创建异步任务 在该任务中 我正在运行无限 while 循环doInBackground 当我转到上一个活动并再次回到该活动时 创建了另一个异步任务 我的问题现在是两个无限 while 循环正在
  • 无法解析符号 FlutterActivity

    我使用 VCS gt Checkout from Version Control 将 flutter 项目从 github 导入到 Android Studio 中 现在我面临的问题是 Cannot resolve symbol Flutt
  • 更改 AChartEngine 中的图例大小

    我想专门更改饼图的图例大小输出 我已经尝试了所有可以找到的 AChartEngine 方法 但没有一个只能更改图例文本大小 我必须重写 onDraw 函数吗 如果是这样 怎么办 要设置图例高度 请使用 renderer setLegendH
  • 在 Android 中将应用程序上下文保存到静态变量是否安全?

    我知道在 Android 上使用静态变量是相当危险的 特别是当您将它们引用到活动时 但是 如果我有一个扩展 Application 的类 我们称此类为 App 引用此类的实例是否安全 如果是这样 任何其他类对应用程序上下文进行任何类型的引用
  • 无法将 Tesseract OCR 模块添加到 Android Studio

    我按照此处找到的分步指南进行操作 https www codeproject com Articles 840623 Android Character Recognition https www codeproject com Artic
  • 如何在照片删除后刷新 Android 的 MediaStore

    问题 如何使媒体存储刷新其已删除文件的条目 从外部存储中删除代码中的照片后 我仍然在图库中看到已删除照片的插槽 空白照片 画廊似乎反映了媒体存储 并且在媒体存储中找到了已删除的照片 直到手机重新启动或通常 直到重新扫描媒体为止 尝试扫描已删
  • Flutter / FireStore:如何在 Flutter 中显示 Firestore 中的图像?

    我想将我在应用程序中使用的一些图像放入 Firestore 并从那里显示它们 而不是将它们作为资产捆绑在我的应用程序中 为了做到这一点 我想出了以下解决方案 对于我想要显示图像的项目 我创建了一个 Firebase 文档 其中有一个字段存储
  • invalidateOptionsMenu 在片段中不起作用

    显示或隐藏项目ActionBar根据文本中是否有文本EditText or not 所以 我做了以下事情 public class NounSearch extends android app Fragment EditText seach
  • 仅在 Tomcat Web 应用程序上为表单登录设置 SSL

    我是否可以将 Tomcat 或我的 web 应用程序 如果这样做 设置为需要 SSL 来保证内置基于表单的登录机制的机密性 即保护用户凭据 并使用标准 http 进行任何其他交易 您可以将登录表单放在自己的目录中 并且只需对该目录要求 SS
  • onTouchEvent()中如何区分移动和点击?

    在我的应用程序中 我需要处理移动和单击事件 一次点击是由一个 ACTION DOWN 操作 多个 ACTION MOVE 操作和一个 ACTION UP 操作组成的序列 理论上 如果您收到 ACTION DOWN 事件 然后收到 ACTIO
  • 如何在android中录制音频时暂停背景音乐

    我正在 Android 中开发一个音频记录应用程序 因此 如果设备音乐播放器中已播放任何背景音乐 则应在开始录制之前暂停该背景音乐 并且每当录制停止或暂停时 背景音乐都应恢复 播放录制的音频时也应该如此 有人可以帮我解决这个问题吗 提前致谢
  • 无法在 Android 模拟器中安装 apk

    我正在尝试通过 adb shell 在 ICS 模拟器中安装 apk 从一个站点下载 但出现以下错误 失败 INSTALL FAILED UID CHANGED 可能是什么问题 只需 rm r 有问题的数据目录即可 如果您在安装时遇到此错误
  • 如何更改锁屏自定义文本(所有者信息)?

    我写了程序代码 String message This is test Settings System putString context getContentResolver Settings Secure LOCK PATTERN EN
  • OpenGL ES 2.0 屏幕闪烁

    我面临着一个大问题 我正在使用带有 Android 4 0 3 的 Transformer tf101 选项卡 我的应用程序使用自定义 OpenGL ES 2 0 表面 我正在用纹理渲染多个平面 该纹理大约发生变化 每秒 20 次 并通过传
  • 在 Android 中更新到 API 26 时,清单合并失败并出现多个错误

    我尝试使用 API 26 更新我的 gradle 安卓工作室2 3 3 但我在编译项目时遇到以下错误 这是我收到的错误的屏幕截图 应用级别build gradle Top level build file where you can add
  • 绘制大位图时 nSyncAndDrawFrame 速度极慢

    我想用多个大位图优化视差滚动视图 在我的 Nexus 5 上 一切都很顺利 Traceview 转储如下所示 doFrame 方法大约需要 18 毫秒才能完成 但是 当使用我的 Nexus 7 或 Android 6 模拟器 Genymot

随机推荐

  • 在正则表达式中,“懒惰”和“贪婪”是什么意思?

    这两个术语是什么 贪婪的人会尽可能地消耗 从http www regular expressions info repeat html我们看到尝试将 HTML 标签与 lt gt 假设您有以下内容 em Hello World em 你可能
  • 如何让我的 Flash 对象聚焦于加载?

    我一直在尝试为我的 Flash 游戏设置此测试页面 但它拒绝关注负载 我读了一堆论坛条目 但没有让它做任何事情 我真的不敢相信这会这么难 这是我所拥有的
  • 在单个查询中使用不同值更新多行 - MySQL

    我是 MySQL 新手 我使用它在单个查询中更新具有不同值的多行 UPDATE categories SET order CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END title
  • 如何获取进程使用的所有内存地址空间?

    我需要知道进程使用的所有内存地址空间 稍后将扫描内存空间以定位进程内的值并识别它们的位置 地址 我当前的处理过程是通过其 基地址 内存大小 获取每个模块的基地址 我正在一个已知地址处具有已知值的进程上对此进行测试 当我查找该特定地址时 我得
  • 为 RecyclerView 项目添加波纹效果

    我正在尝试将波纹效果添加到 RecyclerView 的项目中 我在网上查了一下 但找不到我需要的东西 我认为它必须是自定义效果 我已经尝试了 RecyclerView 本身的 android background 属性并将其设置为 and
  • C中的双精度等于0问题

    我正在用 C 实现一种计算自然对数的算法 double taylor ln int z double sum 0 0 double tmp 1 0 int i 1 while tmp 0 0 tmp 1 0 i pow z 1 0 z 1
  • Cobol 的优点是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我喜欢花时间研究语言的酷功
  • 如何使用 pdfbox 将 PDPage 插入另一个 PDPage

    我使用不同的工具 例如处理 来创建矢量图 这些图被写成单页或多页 pdf 我想使用 pdfbox 将这些图包含在一个类似报告的 pdf 中 我当前的工作流程包括这些 pdf 作为图像 并具有以下伪代码 PDDocument inFile P
  • 带有张量流的鼻子测试:大量调试输出,如何禁用

    当我使用nosetests通过 TensorFlow 的一些测试脚本 我从 TensorFlow 获得了大量调试输出 az azmacbookpro P crnn gt nosetests tests test TFUtil py Leve
  • d3 Sankey - 突出显示从开始到结束的所有连接路径

    我试图突出显示所有连接的链接及其目标节点的链接 直到布局结束 第一级突出显示可以轻松实现 如下所示 单击节点时 调用highlight paths 1 function highlight paths stroke opacity retu
  • R - Excel VLOOKUP 等效项 - 查找、替换 [重复]

    这个问题在这里已经有答案了 我几乎到处都找遍了 但找不到答案 R 相当于 Excel 上的 VLOOKUP VLOOKUP 允许我在整个列中查找特定值并将其应用到数据框的每一行 在本例中 我想找到特定城市所在的国家 地区 从数据库中 并在新
  • Rails 使用 select2 (和 simple_form)充当可标记的角色

    我想要一个 select2 标签下拉菜单 我可以在其中选择多个现有标签并添加新标签 我尝试了很多不同的方法 但要么 select2 框不起作用 要么只传递一个值 最后一个 这是我得到的最接近的 通过最后一个值 正如我之前提到的 普通的 se
  • 呈现具有透明度和动画的视图控制器

    我正在设置self window rootViewController modalPresentationStyle UIModalPresentationCurrentContext 在我的应用程序委托中 以便我可以呈现视图控制器并使视图
  • 使用 selenium 时如何禁用 Firefox 中的附加组件

    我在我的 Rails 项目 在 Ubuntu 10 04 系统上 中使用 Capybara selenium 现在我刚刚升级了 Firefox 当我运行我的测试时 Firefox 会加载 但它现在已经安装了所有附加组件 并且会等待我设置每个
  • 如何使用 sass 在 Bootstrap 4 中创建一组新的颜色样式

    我开始浏览精彩的 Bootstrap 4 我想知道如何向 custom scss 添加一组全新的元素颜色 示例 现在您有 btn danger text danger 等 如何创建 例如 使用随机名称 crisp 集 这样您将拥有 btn
  • ASP.Net MVC 将多个参数传递给视图

    在 ASP Net MVC 中 我想根据 renderview 查询字符串参数呈现不同的部分视图 因此 为用户提供了选择通过缩略图或详细信息查看产品的便利 我可以访问控制器中选定的参数 但我不知道如何操作 或者是否应该将其与产品列表一起传递
  • 将 Vec 或 Vec 转换为 &str

    我正在进入 Rust 编程来实现一个小程序 但我在字符串转换方面有点迷失 在我的程序中 我有一个向量如下 let mut name Vec
  • 已达到速率限制。睡觉的目的:

    我正在收集推文以及来自 Twitter 的 API 的回复来构建数据集 并且我正在使用 python 中的 tweepy 库来实现这一点 但问题是我经常收到此错误 已达到速率限制 休眠 任意数量的秒 这耽误了我 我必须在最短的时间内收集尽可
  • 在 Spring Boot 中以编程方式配置 DataSource

    使用 Spring Boot 我可以实例化一个JdbcTemplate具有以下内容 Code Autowired private JdbcTemplate jdbcTemplate 特性 spring datasource url jdbc
  • Android Facebook 登录和网络服务器

    我正在开发一个 Android 应用程序和一个网站 也与 Android 客户端进行通信 我想使用 FB 登录 但我看到的问题是 客户端 使用FB登录 然后获取access token 客户端和 Web 服务器如何仅使用此 access c