Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何打开某人';在本机iOS Facebook应用程序中使用其应用程序作用域ID的个人资料页_Ios_Facebook_Facebook Graph Api - Fatal编程技术网

如何打开某人';在本机iOS Facebook应用程序中使用其应用程序作用域ID的个人资料页

如何打开某人';在本机iOS Facebook应用程序中使用其应用程序作用域ID的个人资料页,ios,facebook,facebook-graph-api,Ios,Facebook,Facebook Graph Api,从Open Graph v2.0应用程序不再可以访问Facebook用户的实际ID,但必须处理应用程序范围ID。这意味着在iOS中,url方案链接@“fb://profile/123456”不再有效,因为我们需要用户的实际ID 有没有办法在本机iOS facebook应用程序中仅使用应用程序作用域ID打开用户页面 这是我当前的代码,它在本机iOS Facebook应用程序中产生“未找到页面”错误 NSString *link = [NSString stringWithFormat:@"fb:/

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

有没有办法在本机iOS facebook应用程序中仅使用应用程序作用域ID打开用户页面

这是我当前的代码,它在本机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]];
}
嗨,基于这个。所以Facebook ID是应用程序范围内的用户ID。所以你也可以使用相同的URL方案。尝试使用此请求打开用户配置文件:

fb://profile?app_scoped_user_id=%@
也请考虑这个请求。毕竟,在我看来,您应该使用Safari来显示用户配置文件。

Swift版本:

let appUrl = NSURL(string: "fb://profile?app_scoped_user_id=\(id)")!

            if UIApplication.sharedApplication().canOpenURL(appUrl) {
                UIApplication.sharedApplication().openURL(appUrl)
            } else {
                UIApplication.sharedApplication().openURL(NSURL(string: "https://www.facebook.com/app_scoped_user_id/\(id)")!)
            }

编辑:这在理论上是可行的,但实际上FB不允许打开第三方应用程序的FB://URL

此URL方案打开用户的配置文件页面。请注意,它使用的是用户名,而不是id号

fb://profile?id=[username]

工作起来很有魅力!希望他们将来会记录这些功能:)我用这个示例编写代码,但我总是只打开我的个人资料,即使我插入了其他人的id。(我测试了许多id,但总是相同的-刚刚打开了我的个人资料)有没有人有同样的问题?这个解决方案只显示了我自己的个人资料,如@EdwardAnthony和@JuHong说,用safari打开解决了这个问题:
UIApplication.sharedApplication().openURL(url)
这里一样,这个url总是打开我的个人资料。如何在facebook本机应用程序中打开他人的个人资料?如何使用tnxxxxx获取提示请首先查看此问题的答案。显然,您可以在此处添加您的答案。但在回答之前,你需要了解一些要点。首先,不要添加以前添加了相同代码或建议的答案。第二,如果用户已经非常明确地询问了问题以及他需要解决什么问题,那么不要添加过于复杂的答案。第三,如果您想对答案或问题提出任何建议,您可以添加一条评论。@ankitsuthar很抱歉,您是说这个问题以前已经回答过,但我在这里似乎找不到“正确”的答案。我在处理同一个问题,当我最终找到正确的方法(据我所知,这里没有提到)时,我决定分享它。这是一个问题吗?好的,那么请通过添加关于它的重要细节使它更有帮助。所以有人可以得到它真的很有帮助@Lynn这对我不起作用而且每次都会打开我的个人资料