Tiêu đề gốc: 今話題の「Facebook Open Graphアプリ」とは何か
Tác giả: Naoto
Tiêu đề tiếng việt: Ứng dụng Facebook open graph là gì?
Dịch bởi: Nhóm biên dịch công ty CP AI&T
2. ADVANCED INTELLIGENCE TECHNOLOGY CO., JSC
5 Floor, Agribank Building, 266 Doi Can Str, Ba Dinh Dist, Hanoi, Vietnam. Tel: + 84 – 4 – 3762 – 4015. Fax: + 84 – 4 – 3762 – 1594. http://www.ai-t.vn
Lời mở đầu
Nhóm biên dịch thuộc Công ty Cổ phần AI&T xin gửi lời chào trân trọng tới tất cả các bạn!
Trong quá trình làm việc, chúng tôi đã dịch một số tài liệu và muốn chia sẻ cho tất cả.
Chúng tôi luôn mong muốn bản dịch truyền tải được hết nội dung và tinh thần của bài viết, nhưng
trong quá trình dịch thuật có thể còn nhiều thiếu sót, mong các bạn đóng góp ý kiến để bản dịch
hoàn thiện hơn.
Email đóng góp xin gửi về: support@ai-t.vn
Tất cả các bản dịch chỉ mang tính chất tham khảo và không nhằm mục đích kinh doanh, thương
mại, nhóm biên dịch không chịu trách nhiệm về nội dung và tác quyền.
Xin chân thành cảm ơn!
---------------------------------------------------------------------------------------------------------------------
Chúng tôi xin gửi tới các bạn bản dịch của bài viết “今話題の「Facebook Open Graph アプリ」
とは何か” của tác giả Naoto.
Link bài viết gốc: http://media.looops.net/naoto/2012/01/24/facebook_open_graph_app/
Tiêu đề tiếng Việt: Ứng dụng Facebook open graph là gì?
3. Ứng dụng Facebook open graph là gì?
ỨNG DỤNG FACEBOOK OPEN GRAPH LÀ GÌ?
24/1/2012
Tác giả: Naoto
Ngày 18 tháng 1, trên nhiều báo mạng như Tech Crunch Japan, bài viết “Cuối cùng thì ứng
dụng lifestyle Facebook Open Graph kiểu mới cũng được cho ra mắt” đã trở thành tâm điểm chú
ý. Hiện nay trên trang Facebook Timeline apps đã có 78 ứng dụng được giới thiệu.
Vậy “Open Graph” là gì? Tôi thấy cũng khó tìm được câu trả lời đơn giản nào cho câu hỏi
này trong mục Open Graph trên Facebook Developers. Trong entry này, chúng ta sẽ cùng bàn về
“Ứng dụng Open Graph” trên cơ sở vừa sử dụng các document dành cho Facebook Developers
làm diễn đàn tham khảo chính, vừa tìm hiểu về các concept và mô tả kỹ thuật của “Open Graph”.
“Open Graph” và “Open Graph Procotol”
Trước hết tôi xin bắt đầu từ việc tìm hiểu các thuật ngữ có liên quan đến Open Graph. Mặc
dù sử dụng tài liệu dành cho Facebook developers để tham khảo, nhưng tôi xin lược bớt một số
chi tiết cho dễ hiểu hơn, và sẽ trình bày các ý chính mà cá nhân tôi cảm thấy phù hợp. Đồng thời,
tôi đã gắn link vào các thuật ngữ chuyên môn, các đường link này có liên kết đến thông tin gốc,
nếu như muốn hiểu rõ hơn các bạn có thể click vào đó để tham khảo.
www.media.loops.net.com 3/13
4. Ứng dụng Facebook open graph là gì?
Open Graph
Hình ảnh dưới đây được tôi lấy từ website Facbook developers (Core Concepts › Open
Graph), nó sẽ có ích cho việc xem xét tổng quan về Open Graph
Ở tại vị trí trung tâm của bức hình trên là user sử dụng Facebook. Các vòng tròn ở xung
quanh chính là các Object mà Facebook có thể cung cấp cho user. Các kiểu Object được định
nghĩa trong phần Built-in Object Types. Trong entry này, Object được hiểu là một yếu tố cấu
thành của Social Graph, còn ở ngoài phạm vi entry này, Object còn được định nghĩa bao gồm cả
những Object có khả năng sử dụng trong Graph API như là User và Page.
Đường thẳng nối giữa các object với nhau được gọi là “action (hay edge)” trên lược đồ của
Open Graph. Trong khung màu xanh được hiển thị trên các đường thẳng này có các động từ
“ like”, “listen”, “watch”, “cook”, đó chính là Built-in Action Types (Vào thời điểm tham khảo
www.media.loops.net.com 4/13
5. Ứng dụng Facebook open graph là gì?
23/01/2012 trong tài liệu dành cho Facebook Developers mới chỉ có giải thích về động từ
“watch” ). Riêng động từ “cook”, tôi cũng không rõ nó có phải là một động từ mới được công
nhận trong Open Graph không (Tham khảo “Submit for Approval” về việc yêu cầu và xác nhận
động từ).
Object Types có thể lựa chọn trên màn hình setting của Open Graph
Nếu suy đoán qua những từ ngữ được dùng trong tài liệu (như expand, extend) có thể tóm
lại về Open Graph, đó là “một dạng thức mở rộng đối với bên thứ 3 (third party)” hướng tới hệ
thống dữ liệu có liên quan đến một core của Facebook được gọi là “Social Graph”. Nếu nói đến
dạng thức mở rộng thì hiện có Graph API đang được sử dụng rộng rãi. Trong Graph API, cùng
một API cho phép “truy cập” (access) đến Facebook Social Graph và cung cấp thuộc tính mở
rộng, còn Open Graph có thể cung cấp thuộc tính mở rộng cho các đối tượng là “object và action
trong Social Graph”, đó là một khác biệt có thể nhận thấy rõ. Nếu bạn là một developer đã từng
sử dụng khái niệm đa hình Polymorphism trong thiết kế, cho dù nói các Object ở đây bao gồm cả
các động thái (Method object) được gọi là “action” (sẽ được đề cập ở phần sau) thì có lẽ cũng
không gây ảnh hưởng gì. Thực tế, action ở đây không phải là chỉ có thể thiết lập được các logical
name (“cook”, “listen”, “like”) mà còn có thể định nghĩa đến cả properties.
www.media.loops.net.com 5/13
6. Ứng dụng Facebook open graph là gì?
Open Graph Protocol (OGP)
Trên các diễn đàn SEO và các diễn đàn thu hút một lượng lớn người dùng, OGP nhiều lần
được giới thiệu giống như là “Method của FBO (Facebook Optimize)”. Bản thân nó là đặc tả kỹ
thuật (spec) của một bộ siêu dữ liệu Metadata, đóng vai trò định nghĩa giúp cho máy tính dễ xử lý
các thông tin trên webpage (Để biết thêm thông tin, các bạn có thể tham khảo trong bài viết “SEO
– thế hệ sau của Semantic Web và Facebook OGP” trên blog này). Facebook OGP đã định nghĩa
các thông số kỹ thuật liên quan đến việc trao đổi dữ liệu giữa Facebook và các website bên ngoài,
vì thế có thể thu thập được thông tin từ các website ngoài vào trong Facebook Social Graph. OGP
được giới thiệu với vai trò là giải pháp cho vấn đề cải thiện PV và viral, đã tập trung các ưu đãi
gắn liền với Facebook (các website chia sẻ được hiển thị trên trang Facebook nhiều hơn và hiệu
quả hơn) để mở rộng cộng đồng.
Bản chi tiết thông số kỹ thuật của OGP có thể tham khảo tại Open Web Foundation
Agreement (OWFa) 0.9. Open Web Foundation (OWF) được thành lập năm 2007 bởi David
Recordon – được ghi danh với tư cách là thành viên của Six Apart, là người đi đầu trong việc
phát triển và phổ biến OpenID. Ngoài những thành viên cá nhân, Google, Facebook, Microsoft,
Yahoo!, Salesfore cũng tham gia vào tổ chức này, và trong số đó, Facebook đã thở thành trung
tâm đưa ra quyết sách.
Trong phần document có liên quan đến Open Graph – chủ đề của entry này, đều có lời giải
thích “Version mới đây của Open Graph được tung ra với mục đích giúp cho bên thứ ba (third
party) dễ dàng chia sẻ page và website của mình đến với các user sử dụng Facebook”. Thực tế,
OGP cũng có nhiều điểm chung với các Built-in Object Types trong Open Graph. Tuy nhiên, với
“ogp.me” được quản lý bởi tổ chức phi lợi nhuận, có mục tiêu việc xây dựng và phát triển các
bảng chi tiết thông số kỹ thuật liên quan đến Web dựa trên những thảo luận cộng đồng người sử
dụng (community base) và “Facebook Open Graph Protocol” được các doanh nghiệp tư nhân như
Facebook xây dựng nhằm mục đích mở trộng website của chính mình, tôi nghĩ chúng nên được
phát triển riêng rẽ một cách vững mạnh thì tốt hơn. Với suy nghĩ như vậy, thì liệu lời giải thích
rằng Facebook OGP là một tập con của Open Graph, và có một phiên bản từ trước đó sẽ được lý
giải dễ dàng hơn phải không?
www.media.loops.net.com 6/13
7. Ứng dụng Facebook open graph là gì?
Đặc trưng của ứng dụng Open Graph
Ở trong các mục trước, Open Graph được chỉ ra là một dạng thức mở rộng hướng đến bên
thứ 3 của Social Graph, là một ứng dụng có liên quan đến các định nghĩa về Object và Action, có
khả năng truy cập vào các Object, khác với Graph API.
Ứng dụng Open Graph đã sử dụng giao thức Open Graph được gọi là “Ứng dụng Timeline”
- Ứng dụng Timeline, được phân biệt với các ứng dụng khác dựa trên hình thức biểu hiện. Các
đặc trưng của ứng dụng Open Graph được liệt kê như dưới đây.
Có thể sử dụng các action và object do mình tự định nghĩa
Có thể nhận được “sự đồng ý hiển thị các activity trên giao diện timeline” của user.
Dưới đây tôi sẽ viết về từng đặc trưng riêng.
Object và action do mình tự định nghĩa
Trong ứng dụng Open Graph, các app developer có thể định nghĩa thêm nhiều dạng action
khác ngoài action “Like”. Đồng thời, cũng có thể tạo ra được các Object tương ứng là đối tượng
của action.
www.media.loops.net.com 7/13
8. Ứng dụng Facebook open graph là gì?
Trong màn hình setting ứng dụng được hiển thị trong dashboard của Facebook developers
hiện tại, chọn menu “Edit Open Graph”, ở đây bạn có thế thiết lập các Object, Action,
Aggregations mà ứng dụng sử dụng. Object là “một thực thể đơn – mono” mà ứng dụng chia sẻ
trong Social Graph, ví dụ như là “Tin tức sự kiện”, “Công thức nấu ăn”, “Âm nhạc”. Action thể
hiện các hoạt động (activity) đối với object. Nếu object là “tin tức sự kiện” thì action sẽ là “read”,
“chia sẻ với bạn bè”, nếu object là “công thức nấu ăn” thì action sẽ là “cook” chẳng hạn. Đó là
một số object có sẵn trên facebook. Aggrerations là chức năng tùy chỉnh cách thức trình bày (mô
thức layout) hiển thị action trên giao diện timeline.
Trong bài viết trên Tech Crunch, ngày 19 tháng 1 có giới thiệu các cặp Action và Object
được release mới nhất. Tôi xin trích dẫn ra một vài ví dụ.
Ví dụ về Object và action
Đã mua [hàng hóa] (E-commerce)
Đã mua vé cho các [ sự kiện] (Mua bán vé)
Đã quyên góp cho [các hội từ thiện/project] (Quyên góp - Ủng hộ tiền)
Đã đến thăm quan/ trọ lại tại các [địa điểm du lịch] (Du lịch)
Đã chia sẻ [nội dung] (chia sẻ)
Đã comment [các bài viết]/ trả lời [các câu hỏi] (Comment/Q&A)
Đã kết nối với [username] (Professional network)
www.media.loops.net.com 8/13
9. Ứng dụng Facebook open graph là gì?
Đã nấu ăn theo [công thức] (Website dạy nấu ăn)
Đã học [khóa học] (E-learning)
Nội dung trong dấu ngoặc vuông [] là Object, Động từ là Action, nội dung trong dấu ngoặc
đơn () là các ví dụ về các website.
Sự đồng ý hiển thị activity trên giao diện timeline
Khi nhận được sự đồng ý của user, thì ứng dụng Open Graph sẽ có thể hiển thị (đăng tải)
các activity trên giao diện timeline. Tuy Graph API cũng có thể hiển thị thông tin trên Social
Channels nếu như nhận được Permission, nhưng việc đăng tải activity trên ứng dụng Timeline thì
có vẻ hơi âm thầm. Liên quan đến việc đăng tải có sử dụng Graph API, trong Platform Policy
(bản Tiếng Nhật) yêu cầu phải có sự đồng ý của user ngay cả khi đã nhận được permission.
3. Dù trong trường hợp đã nhận được sự cho phép của user về việc công khai thông tin, thì
trước khi thực hiện các action thay cho user (công khai các content, tạo các event) thì cần có
được sự đồng ý từ user đó.
Facebook Platform policy (IV Point application intergration)
Mặt khác, trong ứng dụng Open Graph (Nói một cách chính xác hơn là “Ứng dụng đăng tải
action Open Graph”) có “publish_actions” với tư cách là permission đặc biệt. Tại trang
Permissions cũng có quy định “Enables your application to publish user scores and achievements”
– “Cho phép ứng dụng của bạn đăng tải điểm số và thành tích của user”, nhưng trong phạm vi
những gì bạn đọc ở Tutorial của ứng dụng Open Graph thì có lẽ permission để đăng tải action
Open Graph không khải là vấn đề đáng lo nghĩ. Đồng thời, permission này vẫn có khả năng nhận
được dù sử dụng Social Plugins như “Add to Timeline”. Dưới đây tôi xin đưa ra một ví dụ cụ thể.
■Code(XFBML)
■Output(Dạng button)
↑ Nhấn vào “Add to Timeline” ở phía trên thì cách thức hiển thị sẽ thay đổi.
www.media.loops.net.com 9/13
10. Ứng dụng Facebook open graph là gì?
■ Hộp thoại xác nhận
Nếu nhận được permission này, sẽ có thể đăng tải các activity trên cở sở các action của
user (Trường hợp cá biệt thì cần phải có xác thực của Facebook). Đây là việc thực hiện concept
có tên “Frictionless sharing” đã được Facebook phát biểu tại F8 vào năm ngoái. Nếu như User
nhấn vào nút “Add to timeline” (tương đương với việc nhận được permission publish_actions)
trên website tin tức hay đọc, cho dù bạn không nhấn vào nút “like” thì mỗi ngày trên wall của bạn
vẫn chia sẻ activity với nội dung “đã đọc [tin tức sự kiện]”. Activity sẽ tự động chạy trên social
chanel của user mỗi lần nghe nhạc trên một ứng dụng âm nhạc, mỗi lần bạn ủng hộ trên ứng dụng
về vấn đề ủng hộ. Chức năng này có liên quan đến việc đăng tải cả những vấn đề riêng tư, nên tôi
nghĩ rằng đây là một thử thách đầy tham vọng hướng tới mục tiêu “gắn kết internet và các hành
động trong thế giới thực”.
Trong tương lai, có lẽ chỉ cần được chứng thực thôi là toàn bộ các hoạt động đều có thể
chia sẻ thông qua internet (Xét về mặt kỹ thuật là có thể). Đó sẽ là một thế giới mà khi bạn sử
dụng IC card mua nước hoa quả ở máy bán hàng tự động hay xem thông tin về vé xem phim ở
rạp chiếu phim thì loại nước mà bạn đã mua, hay bộ phim mà bạn sẽ xem sẽ đều được chia sẻ qua
internet. Tuy nhiên, với nhiều người khác, những thông tin kiểu như vậy được coi là dữ liệu rác.
Thế nên, Facebook dường như cũng đang suy nghĩ đến việc tránh hiện tượng trùng lặp dữ liệu
bằng concept có tên là “Real-time Serendipity”. Vì đây là concept khó nên trong khả năng hiện
tại của mình, tôi không thể giải thích chi tiết cho các bạn về nó, nhưng tôi cảm thấy rằng “Nếu
như có thể đặt trọng số chính xác cho các dữ liệu dựa trên cơ sở Social Graph, từ khối lượng dữ
liệu action khổng lồ của user, thì có thể cung cấp được những dữ liệu có giá trị mang tính chất
khách quan và bao quát”.
www.media.loops.net.com
10/13
11. Ứng dụng Facebook open graph là gì?
Sử dụng action riêng biệt
Để có thể thành công trước thử thách mới chứa đựng nhiều cơ hội và rủi ro giống như đã
nói ở trên, Facebook đang thận trọng trong từng bước đi của mình. Để cho timeline và feed của
user không bị ngập bởi những tin tức lặp đi lặp lại, họ đã chọn riêng đối tác phát triển ứng dụng
Open Graph, và có lẽ sẽ thực hiện kiểm chứng các action bằng cách thủ công.
Dù là trên dashboard của Developer có thể thực hiện thao tác thêm action một cách tự do,
nhưng để cho các user thông thường cũng thấy được điều đó thì cần phải gửi request lên
Facebook và phải được xác nhận. Flow của request này được viết bằng tiếng anh, nhưng thật là
may mắn là anh Oklahomer đã chúng ta giúp dịch sang tiếng Nhật. Vì guideline của review cũng
được ghi lại, nếu kiểm tra request của action thì có lẽ nên theo dõi trong đó.
Tham khảo: Submit for approval (Tips và phần dịch tiếng Nhật phần tài liệu dành cho
Facebook Developers)
Tuy nhiên, hiện tại vì mới chỉ đang trong giai đoạn chạy phiên bản beta nên Open Graph
chưa được xác thực. Website này (In the looop) cũng đang gửi request, nên trạng thái hiển thị
vẫn là “đang chờ xác nhận”.
Step 4
Trong thời gian chạy bản beta, Open Graph action chưa được xác nhận cho đến khi
timeline được áp dụng cho mọi user. Nếu ứng dụng được review thì status hiển thị tại trang Open
Graph Dashboard và Edit Action của Dev App sẽ thở thành Approved hoặc là Rejected.
Submit for approval (Tips và phần dịch tiếng Nhật phần tài liệu dành cho Facebook
Developers)
Tuy nhiên, bản thân những người phát triển ứng dụng có thể cho hiển thị Social plugins và
ứng dụng đã sử dụng Open Graph action. Vì tôi đang là người quản lý ứng dụng trên In the looop,
nên tôi cho hiển thị Social Plugin của bản beta có tên “Recommendations Bar” ở phía dưới của
website này.
www.media.loops.net.com
11/13
12. Ứng dụng Facebook open graph là gì?
Sử dụng Internet
thông qua PC
■Home panel
. RDD panel khoảng 18000
người
Tất cả những người trong gia
đình từ 2 tuổi trở lên có sở hữu
PH và có thể kết nối internet.
. Mega panel khoảng 22000
người.
Các cá nhân sửa dụng PC để kết Tracking theo
nối internet. Netsight
■ Work panel khoản 2200
người
16 tuổi trở lên làm viêc trong Cung cấp kết quả phân
công ty có môi trường làm việc tích dữ liệu trong môi
có thể kết nối internet. trường online
[Recommendation bar Plugin]
Khi scroll xuống phía dưới cùng của bài viết,
trạng thái sẽ được chuyển thành “Reading is
On”, và một bài báo gợi ý khác sẽ được hiển thị.
Để đăng tải Action “Read”, cần nhận được sự
xác nhận từ user bằng việc nhấn “Add to
timeline
Hình ảnh hiển thị Recommendations Bar
Cuối cùng
Trên đây tôi đã tập hợp lại những vấn đề tôi biết về Ứng dụng Open Graph – một topic
được quan tâm gần đây. Vì đây vẫn là bản beta và bài viết này cũng khá nhiều vấn đề liên quan
đến kỹ thuật, nên có nhiều phần vẫn chưa được kiểm chứng. Nếu có độc giả nào nhận thấy có bất
cứ lỗi gì do dịch chưa chuẩn hay sai về kiến thức thì hãy góp ý cho tôi vào địa chỉ
naoto@looops.net, tôi rất vui lòng đón nhận.
www.media.loops.net.com
12/13
13. Ứng dụng Facebook open graph là gì?
Về tính năng này, ở trong bài viết tôi có sử dụng từ “tham vọng”, tuy nhiên tôi không thể
nào tính được tất cả các cơ hội và rủi ro của việc chia sẻ ngầm các hoạt động trong đời sống thực
của user trên internet. Vốn là một developer, tuy biết rằng thế giới thực của chúng ta đang bị hút
mạnh vào những concept được trừu tượng hóa, đồng bộ hóa và mở rộng bởi một chiều không
gian khác mà người ta vẫn gọi là internet, nhưng tôi không thể nào không cảm thấy kinh hãi trước
việc các thông tin đó bị thâu tóm chỉ bởi một doanh nghiệp duy nhất.
Vì con người rất nhanh chóng thích ứng nên 10 năm sau thì có lẽ nó sẽ trở thành một việc
hết sức bình thường, nhưng tôi nghĩ rằng khi mới đang chỉ ở giai đoạn chuẩn bị cho những thay
đổi lớn hơn sắp diễn ra, thì thật tốt khi được được tự do làm những gì mình thích.
Nguồn: http://media.looops.net/naoto/2012/01/24/facebook_open_graph_app/
Dịch bởi : Công ty Cổ phần AI&T
www.media.loops.net.com
13/13