2012-01-24 30 views
20

Tôi có trang sau tôi muốn hiển thị trong facebook ứng dụng: http://www.facebook.com/mypageLàm thế nào để mở trang facebook trong ứng dụng facebook trong iphone?

tôi cố gắng làm như sau nhưng nó dường như không làm việc:

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

cũng tôi đã cố gắng @"fb://mypage" với cùng tiêu cực kết quả. Ứng dụng mở nhưng không cần trang.

Trả lời

45

Để mở trang facebook trong ứng dụng facebook, bạn nên:

1) Tìm uid của trang của bạn (nó có thể được thực hiện ví dụ bằng cách nhìn vào mã nguồn của trang facebook của bạn)

tôi có đoạn sau đây từ mã nguồn của trang: http://www.facebook.com/yourpage

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

NB: để kiểm tra xem uid là đúng thay uid cho pagename: http://www.facebook.com/****123**** Url này sẽ mở trang của bạn.

2) Khi uid được tìm thấy và là chính xác sử dụng mã này:

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

Mã này sẽ mở ra bạn trang trong ứng dụng facebook. N.B .: Đừng quên kiểm tra xem ứng dụng facebook có tồn tại không (hoặc chính xác hơn là url có thể được mở) bằng cách sử dụng: if ([[UIApplication sharedApplication] canOpenURL:urlApp]) nếu không mở nó trong Safari.

+0

tôi đã tìm thấy số trang có thẻ "profile_owner", không phải là uid. – hariseldon78

+0

Nó không giống FB đặt UID trong nguồn nữa, hoặc nếu có, nó không được gọi là độc đáo như thế này. Tôi thấy nó dễ dàng hơn bằng cách nhấp chuột phải vào ảnh hồ sơ, Sao chép liên kết và lấy tập hợp số cuối cùng trong URL đó - sau '.' Nếu bạn muốn tìm nó trong mã, phương pháp boz là cách tốt nhất để đi. – Bek

+4

một cách dễ dàng hơn để nhận UID sẽ là điều hướng đến trang mà bạn muốn có UID và chuyển đến thanh địa chỉ trong trình duyệt của bạn và thay đổi 'www' thành' graph' – MrTristan

-3

Hãy thử

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

Mã của bạn sẽ mở trang bằng Safari, nhưng tôi cần mở trang trong ứng dụng Facebook. – Alex

+2

Điều này mở ra trong ứng dụng Facebook cho tôi, nhưng không thực sự tải trang .. chỉ dòng thời gian bình thường của tôi –

-3

này sử dụng này:

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

UIApplication * app = [UIApplication sharedApplication];

[app openURL:urlApp]; 
+1

Mã của bạn sẽ mở trang bằng Safari, nhưng tôi cần mở trang trong ứng dụng Facebook. – Alex

21

Một phương pháp nhanh chóng là sử dụng facebook graph API ví dụ

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

Tôi sử dụng này để tìm leeds trang uni như vậy:

https://graph.facebook.com/universityofleeds

Các kết quả được như hình bên dưới, id là phần tử đầu tiên (được đánh dấu) results of the facebook graph call

Bạn sẽ sử dụng nó trong ứng dụng của bạn như vậy

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

Một phương pháp tôi thấy rằng hoạt động mà không cần phải làm hai khác nhau URL tùy thuộc vào nếu FB ứng dụng được cài đặt. Sẽ tải trong Safari nếu ứng dụng FB chưa được cài đặt, nhưng sử dụng ứng dụng FB nếu có.

https://www.facebook.com/your-facebook-page-id (id, không nêu tên)

Và bạn có thể tìm thấy ID của bạn dễ dàng hơn trong những ngày chỉ bằng cách chạm Edit Page, và sẽ "Page Info" tab, nó ở phía dưới.

Lưu ý: Điều này không hoạt động nếu bạn sử dụng tên trang của mình, phải là ID trang vì một số lý do khiến ứng dụng FB tải đúng cách.

+0

Câu trả lời này cần nhiều hơn – Infinity

Các vấn đề liên quan