[英]How to open someone's profile page with their app scope ID in native iOS Facebook app
從Open Graph v2.0應用程序不再可以訪問Facebook用戶的實際ID,但必須處理應用程序范圍ID。 這意味着在iOS中,網址方案鏈接@“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]];
}
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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.