iOS Facebook SDK:迁移到新版本的问题
Posted
技术标签:
【中文标题】iOS Facebook SDK:迁移到新版本的问题【英文标题】:iOS Facebook SDK: migration to new version problems 【发布时间】:2017-06-13 12:37:42 【问题描述】:我有一个使用FacebookSdk
的旧应用程序。我想将此sdk
迁移到版本4.17
。问题是这个新版本已经删除了许多类。我想知道FBSession, FBSessionState, FBFriendPickerViewController, FBCacheDescriptor
和FBGraphUser
的等价物是什么。
我使用FBGraphUser
获取用户信息,例如他的id, name...
。 FBSession
:为了检查是否有session
,我还通过FBSessionState
检查了会话的状态。
我搜索了这个问题,我发现对于用户信息我可以使用这个:
[[[FBSDKGraphRequest alloc] initWithGraphpath:@"me" parameters:@@"fields": @"email"]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
if (!error)
NSLog(@”fetched user:%@”, result);
];
但我真的对parameters
感到困惑。我可以提出的所有价值观是什么?
对于FBSession
,我发现我可以检查是否有会话使用:
[FBSDKAccessToken currentAccessToken]
但是我如何检查状态 FBSessionStateOpen, FBSessionStateClosed, FBSessionStateClosedLoginFailed
?
那么FBFriendPickerViewController, FBCacheDescriptor
呢?
【问题讨论】:
【参考方案1】:这是 Paramters 字段信息(对于 FBSDK,这应该大致保持不变,其中一些是“核心”,这意味着它不会真正改变那么多,但我会随时更新):
https://developers.facebook.com/docs/graph-api/reference/user
下面的信息格式如下,有点,我只是很快地这样做了:
“参数” “类型”
“描述”
id 数字字符串
此人的用户帐户的 ID。此 ID 对每个应用程序都是唯一的 并且不能跨不同的应用程序使用。我们的升级指南提供 有关应用特定 ID 的更多信息
关于字符串
此人个人资料的“关于我”部分
年龄范围年龄范围
此人的年龄段表示为最小值和最大值 年龄。例如,大于 18,小于 21。
简介字符串
个人简介
生日字符串
这个人的生日。这是一个固定格式的字符串,如 MM/DD/YYYY。 但是,人们可以控制谁可以看到他们的出生年份 与月份和日期分开,所以这个字符串只能是年份 (YYYY) 或月 + 日 (MM/DD)
上下文用户上下文
此人的社会背景
货币货币
此人的当地货币信息
设备列表
此人正在使用的设备列表。这将只返回 ios 和 安卓设备
教育列表
人的教育
电子邮件字符串
个人资料中列出的此人的主要电子邮件地址。这个领域 如果没有可用的有效电子邮件地址,将不会被退回
favorite_athletes列表
该人喜欢的运动员
favorite_teams 列表
这个人喜欢的运动队
名字字符串
这个人的名字
性别字符串
此人选择的性别,男性或女性。这个值将是 如果将性别设置为自定义值,则省略
家乡页面
这个人的家乡
inspirational_people列表
鼓舞人心的人
install_type 枚举
安装类型
已安装 bool
发出请求的应用程序是否已安装?
有兴趣的人列表
此人感兴趣的性别
is_shared_login bool
这是共享登录(例如灰色用户)
is_verified布尔型
拥有大量追随者的人可以具有真实性 他们的身份由 Facebook 手动验证。该字段表示 是否以这种方式验证此人的个人资料。这是与众不同的 来自经过验证的字段
语言列表
代表此人知道的语言的 Facebook 页面
姓氏字符串
这个人的姓
链接字符串
人的时间线的链接
位置页面
此人在个人资料中输入的当前位置。 该字段与签到无关
语言环境字符串
此人的语言环境
meeting_for列表
这个人有兴趣开会
**middle_name 字符串
这个人的中间名
名称字符串
此人的全名
核心默认
name_format 字符串
人名的格式可以正确处理中文、日文或 韩国订购
payment_pricepoints PaymentPricepoints
此人的付款价格点
test_group unsigned int32
平台测试组
政治字符串
这个人的政治观点
relationship_status 字符串
此人的关系状况
宗教字符串
这个人的宗教信仰
security_settings 安全设置
安全设置
significant_other用户
这个人的另一半
运动列表
这个人喜欢的运动
引号字符串
这个人最喜欢的名言
third_party_id 字符串
一个包含匿名但唯一标识符的字符串 人。您可以将此标识符用于第三方
时区浮动(最小值:-24)(最大值:24)
此人当前时区与 UTC 的偏移量
token_for_business 字符串
在企业应用程序中相同的令牌。访问这个 令牌要求此人登录到您的应用程序。这个令牌 如果拥有该应用的企业发生变化,将会发生变化
updated_time 日期时间
更新时间
shared_login_upgrade_required_by日期时间
共享登录需要升级到商务管家的时间 由
已验证 bool
表示帐户是否已通过验证。这不同于 is_verified 字段。如果某人采取任何 以下操作:
Register for mobile Confirm their account via SMS Enter a valid credit card
video_upload_limits VideoUploadLimits
视频上传限制
viewer_can_send_gift bool
观众可以给这个人送礼物吗?
网站字符串
此人的网站
工作清单
一个人的工作经历的细节
public_key 字符串
此人的 PGP 公钥
封面封面照片
此外,这是当前的“Edge”内容:“Edge”内容的格式大致是这样的,我很快就做到了:
“边缘”
“说明”
favorite_requests
开发者最喜欢的 Graph API 请求
request_history
开发者的 Graph API 请求历史
帐户
此人管理/是其管理员的 Facebook 主页
成就
在 Facebook 游戏中取得的成就
广告帐户
此人有权访问的广告帐户
广告帐户组
广告帐户组
广告合同
此人的广告合同
admined_groups
将用户管理员分组
广告网络分析
此人的 Audience Network 应用的洞察数据
专辑
此人创建的相册
应用程序
此人来自应用的待处理请求
apprequestformerrecipients
应用请求
书籍
此人的个人资料中列出的书籍
域
用户管理的域
事件
此人的事件。默认情况下,这不包括事件 此人已拒绝或未回复
家庭
此人的家庭关系。
stream_filters
可应用于动态消息边缘的过滤器列表
好友列表
此人的自定义好友列表
ids_for_business
企业实体可以使用 业务经理。此边返回此用户拥有的 ID 列表 在任何其他应用中
invitable_friends
可受邀安装 Facebook Canvas 应用的好友列表
游戏
此人喜欢的游戏
群组
此人所属的 Facebook 群组
点赞
此人喜欢的所有页面
电影
此人喜欢的电影
音乐
此人喜欢的音乐
对象
对象
权限
此人授予此应用的权限
照片
此人被标记或已上传的照片
图片
此人的个人资料图片
tagged_places
此人的已标记地点列表。它可以包括视频标签, 帖子、状态或链接
promotable_domains
用户可以推广的所有域
promotable_events
用户可以推广的所有事件。
taggable_friends
可以在通过 Graph API 发布的内容中标记的朋友
电视
此人喜欢的电视节目
视频
此人被标记或上传的视频
video_broadcasts
来自此人的视频广播
应用程序
此人开发的 Facebook 应用。
签到
此人进行的签到。
饲料
帖子的提要(包括状态更新)和链接发布者 这个人。
好友请求
一个人的待处理好友请求。
朋友
一个人的朋友。
首页
一个人的 Facebook 主页提要。
收件箱
某人的 Facebook 消息收件箱。
位置
包含位置信息的帖子和照片的提要 此人已被标记。这对于构建一个有用的 该人去过的地方的年表。
共同的朋友
两个人的共同好友列表。
通知
一个人拥有的未读 Facebook 通知。
发件箱
某人的 Facebook 消息发件箱。
问题
一个人提出的问题。
分数
此人从 Facebook Games 获得的分数 玩过。
订阅者
关注此人的个人资料。
订阅
此人关注的个人资料。
【讨论】:
谢谢,但是如何查看会话状态? 如果我将nil
传递给parameters
,我会得到所有的用户信息吗?
不,Facebook 很严格,他们是新的第三帝国,而不是特朗普
所以我必须将所有我想要的参数名称放在参数字段中。这就是你想说的吗?以上是关于iOS Facebook SDK:迁移到新版本的问题的主要内容,如果未能解决你的问题,请参考以下文章
将 grafana 迁移到较新版本的最佳方法是啥? [关闭]
使用Minio Clinet将老版本Minio的数据迁移到新版本的Minio