2012-01-24 3 views
20

У меня есть на следующей странице я хочу показать в facebook приложение: http://www.facebook.com/mypageКак открыть страницу facebook в приложении facebook в iphone?

Я пытаюсь сделать следующее, но это не похоже на работу:

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

я также попытался @"fb://mypage" с тем же отрицательным результат. Приложение открыто, но без необходимой страницы.

ответ

45

Чтобы открыть facebook страницу в facebook приложение, которое вы должны:

1) Найти идентификатор пользователя вашей страницы (это может быть сделано, например, глядя на исходный код вашей страницы facebook)

I получил следующий фрагмент из исходного кода страницы: http://www.facebook.com/yourpage

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

NB: для того, чтобы проверить, если UID правильно заменить UID для имени страницы: http://www.facebook.com/****123**** Этот URL-адрес должен открыть вашу страницу.

2) Когда UID находится и правильно использовать этот код:

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

Этот код откроет вам страницу в facebook приложения. N.B .: Не забудьте проверить, существует ли приложение facebook (точнее, что URL может быть открыт) с помощью: if ([[UIApplication sharedApplication] canOpenURL:urlApp]) иначе открыть его в Safari.

+0

Я нашел номер страницы с тегом "profile_owner", а не uid. – hariseldon78

+0

Это не похоже, что FB помещает UID в исходный код больше, или если они это делают, он не называется так красиво. Я нашел это легче, щелкнув правой кнопкой мыши на картинке профиля, скопировать ссылку и захватить последний набор чисел в этом URL-адресе - после «.» Если вы предпочитаете находить его в коде, метод boz - лучший способ пойти. – Bek

+4

БОЛЬШЕ более простой способ получить UID - это перейти на страницу, в которой вы хотите получить UID и войти в свою адресную строку в своем браузере, и изменить 'www' на' graph' – MrTristan

-3

Попробуйте

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

Ваш код откроет страницу с Safari, но мне нужно открыть страницу в приложении Facebook. – Alex

+2

Это открывается в приложении Facebook для меня, но на самом деле не загружает страницу .. только моя нормальная шкала времени –

-3

Используйте это:

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

UIApplication * приложение = [UIApplication sharedApplication];

[app openURL:urlApp]; 
+1

Ваш код откроет страницу с Safari, но мне нужно открыть страницу в приложении Facebook. – Alex

21

Другой быстрый способ заключается в использовании facebook Graph API Е.Г.

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

Я использовал это, чтобы найти Лидса Uni страницу как так:

https://graph.facebook.com/universityofleeds

Результаты, как показано ниже, идентификатор является первым элементом (выделено) results of the facebook graph call

Вы будете использовать его в своем приложении, как так

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

Другой метод, который я обнаружил, что работает без необходимости делать два разных URL, в зависимости от того, установлен ли FB приложение. Будет загружаться в Safari, если приложение FB не установлено, но использует приложение FB, если оно есть.

https://www.facebook.com/your-facebook-page-id (идентификатор, а не имя)

И вы можете найти свой идентификатор еще проще в эти дни, только попав Редактировать страницу, и собирается на вкладку «Page Info», это в самом низу.

Примечание: Это не работает, если вы используете свое имя страницы, для того, чтобы приложение FB правильно загрузило его, должен быть идентификатор страницы.

+0

Этот ответ нуждается в большей поддержке – Infinity

Смежные вопросы