App dùng Facebook api để tự động lấy các thông tin người like và comment

Câu trả lời đầu tiên là lấy ra những comment từ bài đăng đó em. Ý của em là không hiểu cái gì kìa :joy:

Phải lấy thông tin của những người đã comment bài đăng nữa anh, để bên bộ phần hổ trợ khách hàng của mình tiện trao đổi hơn đấy ạ. Sr a, hôm qua tới giờ mới được làm bài này.

Anh hiểu ý em rồi, mà không biết em có hiểu ý anh không :joy:

1/ Từ facebook api, em có lấy ra được danh sách các post của công ty chưa (các post này có thông tin: id, nội dung, thời gian,…)?
Tham khảo: https://developers.facebook.com/docs/graph-api/reference/v2.7/user/feed

2/ Với mỗi post id, em có lấy được danh sách các comment/like không? (trong ds này có id của người comment)
Tham khảo: https://developers.facebook.com/docs/graph-api/reference/v2.7/object/comments

3/ Với mỗi id của người comment (hoặc like), em có biết cách lấy ra thông tin người dùng ?
http://stackoverflow.com/questions/2833308/facebook-api-is-it-possible-to-get-a-users-public-profile-data-by-email-addres (câu trả lời được vote cao nhất)

Và dĩ nhiên em phải hiểu về cách request thông tin từ graph.facebook trước đã, rồi đi theo document của nó là lấy được những thông tin nó cho phép lấy (không phải thông tin gì cũng lấy được) :grin:

1 Like

Vâng a. Em hiểu cái hướng đi của bài toán rồi. Em cảm ơn a @Hao nhiều nhé.

@Hao Em lấy được các comments của những bài post hiển thị trên graph api rồi(dữ liệu trả về kiểu json), dùng js sdk. Vấn đề bây giờ là em phải GET nó về ứng dụng. Hiện tại em làm ứng dụng trên nền web, em get được mỗi fields{name hoặc id} . (name hoặc id của tai khoản post sản phẩm lên facebook ) , còn get một lúc cả 2 cái thì không được. Và cho em hỏi luôn là: dùng js sdk get thông tin về hiển thị trên textbox rồi thì dùng code để đẩy nó vào lưu ở cơ sở dữ liệu được chứ ạ !

Muốn lấy nhiều thông tin của người dùng, em phải kiểm tra cái permission. Lúc trước graph v1.0 thì facebook cho lấy hết các thông tin cơ bản (tên, email, sinh nhật,…), từ v2.0 thì không được phép lấy tùy tiện nữa mà phải yêu cầu permission: https://developers.facebook.com/docs/facebook-login/permissions

Mà tại sao phải hiển thị thông tin lên textbox rồi mới lưu bào db? (sếp bắt vậy à :smile: vì trong back-end có thể request trực tiếp được luôn)

1 Like

permission em check hết tất cả các quyền mà đâu hiển thị hết được nhỉ. Access Token:em chon chổ page access token chứ không chon user token đâu anh. Em hiển thị lên để em xem nó lấy thế nào thôi, chứ em củng chưa hỏi xếp là có phải hiển thị lên hay không?

Em nên test trực tiếp bằng graph của facebook: https://developers.facebook.com/tools/explorer/145634995501895/ (yêu cầu đăng nhập bằng tài khoảng developer). Khi nó báo lỗi gì thì xem ngay sẽ dễ sửa hơn.


Đoạn code em get các trường đó anh. Nó không get được trường posts. Trên graph api thì nó trả về được như hình đó ạ. Anh xem giúp với.

Vậy tức là: trên graph thì chạy được ra Post mà code thì không ra?
Em chạy debug trong cái else để xem cấu trúc của biến response được không? Vì trên graph trả về 1 Object có propery là data mà em lại gán như 1 biến thì thấy hơi lạ

Dạ. Graph chạy được. Mà code chạy không ra. Vì em củng chưa hiểu tường tận mấy cái này lắm nên em thấy khó. Em làm theo hướng dẫn trên documents của facebook ạ. Em đang ở ngoài. Lát về em làm tiếp. Nếu vẩn không được thì em nhờ a hướng dẫn chút nữa ạ.

Hoặc nếu a có bài nào nhỏ nhỏ tương tự kiểu get dữ liệu về database nhự vậy thì cho em tham khảo với.em đọc documents với có chút code nữa thì chắc chắn em hiểu và làm được.

Muốn học từ cơ bản thì em nên vào freecodecamp.com đăng kí 1 tài khoản để làm các bài tập của nó. Site này có các loại bài tập từ cơ bản đến nâng cao, có front-end, back-end, full-stack,… Làm đủ số bài theo yêu cầu còn được cấp chứng chỉ. Chứ chỉ làm bài tập về nhưng phần em gặp khó thì em không hiểu sâu, hiểu gốc ngọn của vấn đề đâu. :slight_smile:

Vâng. Nhưng ít ra em muốn cái trước mắt là làm được cái project mà giám đốc giao cho đã. Chứ không hoàn thành công việc được giao thì có khi lại không còn cơ hội mà làm việc tại công ty nữa chứ anh.

Vậy thì ráng mò tiếp cái code :smile:
Cái chỗ em đang kẹt, không thể hiển thị post là do em gán data chưa đúng.response.posts là một mảng các object (theo như graph nó hiện ra) nên em không thể gán 1 mảng vào cái document.getElementById('posts').value được.

Em có thể làm bằng cách dùng vòng lặp đi qua cái mảng này:
Vd:

for(var i=0; i< reponse.posts.length; i++ {
     document.getElementById('posts1').value = reponse.posts[i].message;
}

Mỗi cái posts có các thuộc tính là: message, created_time, id
post1 là id của ô hiển thị, em phải cần nhiều ô để hiển thị hết nội dung của các posts.

Em dùng vòng lặp như anh vẩn không được, Cứ lấy id từng bài posts em gán cứng vào trong code thì sẽ lấy được nội dung bài post. Còn dùng vòng lặp như anh thì vẫn không được, em củng chẳng biết vì sao luôn.

Anh ơi cho em hỏi cách lấy thông tin list friend facebook ạ.
Có gì anh gởi mail hay gọi cho em nha.
0965729799 - [email protected].
Dạ em cám ơn anh.

Nên tạo 1 chủ đề có câu hỏi rõ ràng, cụ thể, em đã làm được gì, bị kẹt gì,… Chứ hỏi vậy thì ai đâu mà trả lời.

Mến chào anh Hao!
Anh cho em hỏi là: em có úp 1 video chất lượng HD vào group facebook, em sử dụng câu lệnh:
https://graph.facebook.com/{id-video}/?fields=source&access_token
để lấy link của video, nhưng khi xem thì chỉ video chỉ có chất lượng SD, rất mờ so với ban đầu, làm thế nào em có thể sử dụng câu lệnh api để get đc link video có chất lượng nguyên gốc ạ, mong nhận được sự giúp đỡ từ anh, cám ơn anh ạ!

Chào em,

Vấn đề chất lượng video trên facebook là một vấn đề mập mờ :smile: Cũng có nhiều người nói về nó (quora, stackoverflow). Tóm tắt lại có thể nói như vầy:

  • Chất lượng video em xem/lấy tùy thuộc vào network của em, server của facebook (nếu server tại thời diểm đó ko tốt/ngẽn mạng thì video xem được cũng vậy dù video được up lên là HD)
  • Đối với user (người sử dung fb, xem video trên fb/ page cá nhân) thì mỗi acc đều có cài đặt chất lượng video mặc định: https://www.facebook.com/help/community/question/?id=1019673668072655 Nếu mặc định là video HD và video được up lên là chất lượng HD thì fb sẽ phát video có chất lượng như vậy.

Túm lại, không chỉ riêng video, hình ảnh cũng vậy, fb sẽ tối ưu để user có trải nghiệm “mượt” tùy thuộc vào mạng, băng thông, server, v.v…
Tham khảo thêm một số trick để xem video chất lượng tốt hơn (1 chút): https://webapps.stackexchange.com/questions/71311/how-to-make-facebook-defaults-the-viewer-video-in-hd
https://www.quora.com/Uploading-HD-Video-to-Facebook
chịu khó đọc TA nhé :wink:

P/S: 2 năm rồi mà còn đào lên :sweat_smile:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?