2009-07-27 24 views

Trả lời

10

Câu trả lời là không, Facebook không cung cấp chức năng này. Facebook cố gắng bảo vệ quyền riêng tư của người dùng và do đó, địa chỉ email của người dùng không có sẵn một cách rõ ràng.

Cách duy nhất để gửi email cho người dùng là prompt them để cấp cho bạn các quyền email mở rộng qua số Facebook prompt. Nếu họ cấp cho bạn quyền, bạn có thể sử dụng phương thức API notifications.sendEmail hoặc truy vấn bảng user cho trường proxied_email và gửi email qua hệ thống Facebook's Email Proxy.

+0

cảm ơn bạn. :-) –

1

Tôi không nghĩ rằng bạn có thể làm điều này thông qua FQL. Như một bài tập học tập bạn có thể cần phải sử dụng CURL và sau đó có một dịch vụ CAPTCHA phân tích cú pháp

xem thêm: http://www.25hoursaday.com/weblog/2007/08/21/FacebookTheSocialGraphRoachMotel.aspx

http://weblogs.mozillazine.org/gerv/archives/2007/09/facebook_imagetoemail.html

của plug-in trình Christopher Finke của:

http://www.chrisfinke.com/2007/09/11/convert-facebook-e-mail-images-to-actual-e-mail-links/

+1

Sử dụng phân tích cú pháp cURL và CAPTCHA để tránh giới hạn này có khả năng sẽ khiến ứng dụng của bạn bị cấm cuối cùng. – ceejayoz

+0

Nó sẽ không hoạt động, vì không có cách nào để xác định địa chỉ email của người dùng. – zombat

+0

@ceejayoz đó là lý do tại sao tôi đề cập rằng đó là một exemices học giả;) @zombat Tôi nghĩ rằng fb lưu trữ các email trong một tập tin hình ảnh, vì vậy nếu bạn có thể nhận được tập tin đó và nó phân tích cú pháp (giả sử rằng fb CAPTCHA đã bị hỏng) : P – pageman

4

chỉnh sửa: Điều này đã thay đổi với hệ thống quyền của Graph API mới hơn. Người dùng bây giờ có tùy chọn để sử dụng địa chỉ proxymail, nhưng nó xuất hiện để tiết lộ đúng e-mail theo mặc định.

Cuộc gọi API của Facebook không tiết lộ địa chỉ e-mail của người dùng, bao giờ hết.

Ngay cả khi người dùng cấp quyền cụ thể cho bạn để gửi email cho họ, đó là địa chỉ e-mail được ủy quyền không tiết lộ địa chỉ thực của họ - chẳng hạn như apps+###########.#########.######################@proxymail.facebook.com.

Xem http://wiki.developers.facebook.com/index.php/Proxied_Email để biết chi tiết.

+0

thông tin tuyệt vời. cảm ơn rất nhiều. –

0

Các chức năng có sẵn, mới facebook ios sdk đã mở rộng quyền nơi u có thể tuyên bố Permissions để cấp quyền truy cập khi đăng nhập bởi người sử dụng, khi truy cập cấp chúng ta có thể truy cập vào ID Email của họ,

như thế này, tôi đã tìm nạp,

 _permissions = [[NSArray arrayWithObjects: 
        @"publish_stream",@"email", @"offline_access",nil] retain]; 
     NSString *emailUsr = [result objectForKey:@"email"]; 

Bây giờ bạn có thể nhận Email người dùng Facebook.

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