2010-05-03 53 views
8

Tôi đang xây dựng một trang web cho một nhóm hài kịch sử dụng Facebook làm một trong những nền tảng tiếp thị của họ; một trong những yêu cầu cho trang web mới là hiển thị tất cả các sự kiện trên Facebook của họ trên lịch.Lấy dữ liệu của riêng tôi qua FaceBook API

Hiện tại, tôi chỉ đang cố gắng tổng hợp một tập lệnh Python có thể lấy một số dữ liệu từ tài khoản Facebook của riêng tôi, như danh sách tất cả bạn bè của tôi. Tôi đoán khi tôi có thể thực hiện việc này, tôi có thể di chuyển để kéo dữ liệu phức tạp ra khỏi tài khoản khách hàng của mình (vì họ đã cấp cho tôi quyền truy cập vào tài khoản của họ).

Tôi đã xem nhiều bài đăng ở đây và cũng đã xem qua tài liệu API của Facebook, bao gồm cả Facebook Connect, nhưng tôi thực sự đang đập đầu vào tường. Mọi thứ tôi đọc có vẻ quá mức cần thiết, vì nó liên quan đến việc thiết lập một cơ sở hạ tầng tốt để cho phép ứng dụng của tôi thiết lập kết nối với bất kỳ tài khoản người dùng tùy ý nào (người cho phép tôi). Không nên đơn giản hơn nhiều, tôi chỉ cần truy cập 1 tài khoản?

Tôi không thể tìm cách truy xuất dữ liệu mà không phải hiển thị cửa sổ đăng nhập Facebook. Tôi có một kịch bản mà sẽ lấy tất cả bạn bè của tôi, nhưng nó bao gồm một chuyển hướng, nơi tôi có thể chất đăng nhập bản thân mình vào Facebook.

Sẽ đánh giá cao bất kỳ lời khuyên hoặc liên kết nào, tôi chỉ cảm thấy mình phải thiếu một thứ gì đó đơn giản.

Cảm ơn bạn!

Trả lời

2

Đúng là API của Facebook được nhắm mục tiêu vào các nhà phát triển đang tạo ứng dụng sẽ được nhiều người dùng sử dụng. Rất may, Graph API mới đơn giản hơn nhiều so với người tiền nhiệm của nó, và không phải là khó khăn khủng khiếp để bạn làm việc mà không sử dụng hoặc tạo ra nhiều cơ sở hạ tầng cơ bản.

Bạn sẽ cần triển khai ủy quyền, nhưng điều này không khó, và miễn là bạn nhắc người dùng cho phép offline_access, nó chỉ cần được thực hiện một lần.

Tài liệu trên Desktop Authentication có thể phù hợp nhất với bạn tại thời điểm này, mặc dù bạn có thể muốn chuyển sang xác thực dựa trên javascript khi bạn đã có và chạy ứng dụng web.

Sau khi xác thực được thực hiện, tất cả những gì bạn đang làm là thực hiện yêu cầu GET cho các url khác nhau và làm việc với JSON kết quả.

Đây là tài liệu về Sự kiện và bạn có thể nhận danh sách bạn bè từ kết nối bạn bè của User.

+0

Cảm ơn, Daniel, và tất cả mọi người, tôi sẽ dành thời gian tối nay nhìn vào cả hai liên kết mà các bạn đăng lên, trên Connect và cho phép sự cho phép offline_access. Tôi sẽ đăng lại những gì tôi tìm thấy trong trường hợp người khác tìm kiếm câu hỏi này. Cảm ơn bạn lần nữa! – goggin13

0

Tôi không phải là chuyên gia về Facebook/Facebook Connect, tuy nhiên tôi đã thấy nó được sử dụng/sử dụng các ứng dụng với nó và có vẻ như thực sự chỉ có cách 'chính thức' để làm điều đó. Tôi sợ có vẻ như đặt cược tốt nhất của bạn có lẽ sẽ là thứ gì đó dọc theo dòng này.

http://wiki.developers.facebook.com/index.php/Connect/Authentication_and_Authorization

Bất kể thế nào bạn thực sự 'sử dụng' nó, bạn vẫn sẽ cần phải ủy quyền cho các ứng dụng để kết nối với tài khoản và điều này có nghĩa là có một App Facebook là tốt.

0

Câu trả lời cho xác thực ứng dụng Facebook khó tìm nhưng thực sự được tìm thấy trong trang "Analytics" của API đồ thị. Chỉ định các mục sau: https://graph.facebook.com/oauth/access_token?client_cred&client_id=yourappid&client_secret=yourappsecret, khi đó bạn sẽ được cấp một access_token mà bạn có thể sử dụng trên tất cả các cuộc gọi khác.

API được cung cấp bởi Facebook KHÔNG cung cấp mức chức năng này.

7

Chỉ cần đăng các ghi chú của tôi lên lời khuyên thành công, nếu người khác tìm thấy bài đăng này;

Theo lời khuyên của Daniel và William, tôi nhận được các quyền phù hợp bằng cách sử dụng tùy chọn Kết nối. Từ William, liên kết này giải thích cách kết nối Facebook làm việc

https://developers.facebook.com/docs/authentication/

Phần này về việc thành lập thẩm định thực tế là hữu ích nhất đối với tôi. http://developers.facebook.com/docs/api

Về cơ bản, nó như sau: Đăng liên kết tới URL sau. Người dùng sẽ cần phải nhấp vào thực tế (ngay cả khi người dùng đó chỉ là bạn, quản trị viên trang web). https://graph.facebook.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=http://www.example.com/HANDLER

Điều này sẽ chuyển hướng đến thông tin đăng nhập Facebook, sẽ quay lại http://www.example.com/HANDLER sau khi người dùng xác thực. Nếu bạn muốn làm nhiều hơn lượt đọc cơ bản và cập nhật nguồn cấp dữ liệu tin tức, bạn sẽ cần bao gồm biến này trong liên kết ở trên: scope = offline_access, user_photos. Biến phạm vi chỉ bao gồm một danh sách các giá trị được phân cách bằng dấu phẩy, mà Facebook sẽ thông báo rõ ràng cho người dùng xác thực trong quá trình đăng nhập và họ sẽ phải OK. Hữu ích nhất đối với tôi là cờ offline_access (user_photos cũng cho phép bạn xem ảnh của họ), vì vậy tôi có thể lấy nội dung mà không cần đăng nhập thường xuyên (miễn là tôi lưu mã thông báo truy cập sau này)

Có tập lệnh tại http://www.example.com/HANDLER sẽ mất một biến từ yêu cầu (vì vậy facebook sẽ chuyển hướng đến http://www.example.com/HANDLER&code=YOUR_CODE sau khi xác thực). Người xử lý của bạn cần phải rút ra biến mã và sau đó gửi yêu cầu sau: https://graph.facebook.com/oauth/access_token?
client_id = YOUR_CLIENT_ID &
redirect_uri = http://www.example.com/oauth_redirect&
client_secret = YOUR_SECRET_KEY &
code = YOUR_CODE

Yêu cầu này sẽ trả về một chuỗi có dạng access_token = YOUR_ACCESS_TOKEN.

Chỉ cần phân tích ra khỏi 'access_token =', và bạn sẽ có một dấu hiệu mà bạn có thể sử dụng để truy cập API facebook đồ thị, trong các yêu cầu như http://graph.facebook.com/me/friends?access_token=YOUR_ACCESS_TOKEN này sẽ trả về một đối tượng JSON chứa tất cả bạn bè của bạn

Hy vọng điều này sẽ tiết kiệm cho người khác một số thời gian không vui vẻ căng thẳng thông qua tài liệu. Cảm ơn đã giúp đỡ!

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