简体   繁体   中英

How to open facebook page in facebook app in iphone?

I have the following page I want to show in facebook app: http://www.facebook.com/mypage

I try to do the following but it doesn't seem to work:

    NSURL *urlApp = [NSURL URLWithString:@"fb://profile/mypage"];
    [[UIApplication sharedApplication] openURL:urlApp];

also I tried @"fb://mypage" with the same negative result. Application is open but without the page needed.

To open facebook page in facebook app you should:

1)Find uid of your page (it can be done for example by looking at source code of your facebook page)

I got the following fragment from the source code of the page: http://www.facebook.com/yourpage

{"text":"yourpage","type":"ent:page","uid":****123****}

NB: To check if uid is correct substitute uid for pagename: http://www.facebook.com/****123**** This url should open your page.

2) When the uid is found and is correct use this code:

NSURL *urlApp = [NSURL URLWithString:@"fb://profile/****123****"];
[[UIApplication sharedApplication] openURL:urlApp];

This code will open you page within facebook app. NB: Do not forget to check if the facebook app exists( or more precisely that the url can be opened) using: if ([[UIApplication sharedApplication] canOpenURL:urlApp]) otherwise open it in Safari.

Another quick method is to use the facebook graph API eg

https://graph.facebook.com/name-of-your-page-here

I used this to find the leeds uni page like so:

https://graph.facebook.com/universityofleeds

The results were as shown below, the id is the first element (highlighted) facebook图表调用的结果

You will use it in your application like so

    NSURL *url = [NSURL URLWithString:@"fb://profile/93693583250"];
    [[UIApplication sharedApplication] openURL:url];

Another method I found that works without having to do two different URL's depending on if FB app is installed. Will load in Safari fine if FB app is not installed, but uses FB app if it is.

https://www.facebook.com/your-facebook-page-id (id, not name)

And you can find your ID even easier these days by just hitting Edit Page, and going to "Page Info" tab, it's at the bottom.

Note: This does not work if you use your page name, must be page ID for some reason for the FB app to load it properly.

I found this website that gets you the page ID quickly using page URL, i tried a lot of ways to get a page that i doesn't own but i failed, this one is cool :

https://findmyfbid.com/

then it will look like the below code:

NSURL *url = [NSURL URLWithString:@"fb://profile/Page_ID"];


[[UIApplication sharedApplication] openURL:url];

Try this

NSURL *urlApp = [NSURL URLWithString:@"http://www.facebook.com/Innova.et.Bella"];
[[UIApplication sharedApplication] openURL:urlApp];

Use this:

NSURL *urlApp = [NSURL URLWithString:@" http://www.facebook.com/yourpage "];

UIApplication *app = [UIApplication sharedApplication];

[app openURL:urlApp];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM