ios - 如何在 native iOS Facebook 应用程序中使用其应用程序范围 ID 打开某人的个人资料页面

标签 ios facebook facebook-graph-api

从 Open Graph v2.0 开始,应用程序不再可以访问 Facebook 用户的实际 ID,而是必须处理应用程序范围 ID。这意味着在 iOS 中,url 方案链接 @"fb://profile/123456"不再有效,因为我们需要用户的实际 ID。

有没有办法在原生 iOS facebook 应用程序中打开只有应用程序范围 ID 的用户页面?

这是我当前的代码,它会在 native iOS Facebook 应用程序中产生“找不到页面”错误。

NSString *link = [NSString stringWithFormat:@"fb://profile/%@", fbID];
NSURL *facebookURL = [NSURL URLWithString:link];
if ([[UIApplication sharedApplication] canOpenURL:facebookURL]) {
    [[UIApplication sharedApplication] openURL:facebookURL];
} else {
    NSString *link = [NSString stringWithFormat:@"http://facebook.com/%@", fbID];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:link]];
}

最佳答案

您好,基于此 documentation .所以 Facebook ID 是 App-scoped 用户 ID。因此,您也可以使用基于相同的 URL 方案。尝试使用此请求打开用户配置文件:

fb://profile?app_scoped_user_id=%@

同时考虑这个 article关于这个请求也是如此。毕竟在我看来你应该使用 Safari 来显示用户个人资料。

关于ios - 如何在 native iOS Facebook 应用程序中使用其应用程序范围 ID 打开某人的个人资料页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26437664/

相关文章:

javascript - Facebook Graph API 获取公共(public)视频信息

javascript - 尝试以编程方式选择 UIWebView 中的文本时 setStart 和 setEnd 抛出错误

ios - 无法解锁钥匙串(keychain)

javascript - 如何修改fb :request-form dynamically using Javascript?的内容

facebook - 中继应用程序 : How to introspect schema on server?

node.js - 在 facebook 中,使用 nodejs 选择页面的日期范围见解

ios - 在 Swift 4 中滚动 UITableView 时如何更新 UISlider 值

iphone - 确定长按手势识别器的位置

ios - 升级到 Xcode8 后 React Native RCCTCustomScrollView 损坏

java - 如何将 Theta 360 度照片发布到 Facebook