2010-10-27 32 views
5

Tôi đang cố tìm nạp dữ liệu từ Facebook, sử dụng API biểu đồ.Biểu đồ Facebook api - một số trang trả lại tập dữ liệu trống

Yêu cầu tôi thực hiện trông giống như sau: http://graph.facebook.com/<page_name>/, nó sẽ trả về dữ liệu cơ bản về trang. Nếu tôi yêu cầu: http://graph.facebook.com/<page_name/feed/, tôi nhận dữ liệu từ nguồn cấp dữ liệu của trang này.

Có một số trang yêu cầu xác thực để truy cập chúng - ví dụ trang Smirnoff (http://graph.facebook.com/Smirnoff) và một số trang "rượu" khác (tôi nghĩ). Vì vậy, tôi đã tạo access_token cho ứng dụng tôi đang sử dụng, cho phép giấy phép truy cập vào tài khoản của tôi. Bây giờ tôi có thể lấy cơ bản dữ liệu cho Smirnoff, nhưng bất cứ khi nào tôi cố gắng truy cập vào dữ liệu cấp thấp (như feed hoặc posts), tôi nhận được một mảng trống trong json:

{ 
    "data": [ 

    ] 
} 

Có cách để truy cập dữ liệu này từ API? Hoặc là nó bị chặn bởi chủ sở hữu trang? Hoặc có lẽ ứng dụng được ủy quyền của tôi cần thêm quyền?

Trả lời

0

Phần lớn nội dung bạn đang cố gắng truy cập chỉ khả dụng thông qua API nếu bạn là quản trị viên của trang đó. Khi bạn nhận được một mảng trống như là kết quả, hầu như luôn luôn trường hợp mã thông báo truy cập được cung cấp không có quyền truy cập vào những gì bạn đang yêu cầu. Nếu mã thông báo truy cập không hợp lệ, thì API sẽ thực sự gây ra lỗi.

+2

Ok, nhưng vì nội dung của trang này có sẵn qua FB www - tôi có nên nhận được thông qua API này không? – kender

+1

Điều này gây phiền toái nghiêm trọng. Chúng ta có thể làm rõ về điều này không? 6 năm sau, –

2

Đã xảy ra sự cố với trang bạn đã đề cập. Tôi đã thử https://graph.facebook.com/Smirnoff trong Firefox của mình và nhận được thông báo lỗi "sai".

Tôi đã thử trang được đề cập trong tài liệu chính thức (https://developers.facebook.com/docs/reference/api/) và không tìm thấy sự cố nào.

Trang: https://graph.facebook.com/cocacola (Coca-Cola trang)

{ 
    "id": "40796308305", 
    "name": "Coca-Cola", 
    "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/203509_40796308305_256509_s.jpg", 
    "link": "https://www.facebook.com/coca-cola", 
    "category": "Food/beverages", 
    "likes": 29964683, 
    "website": "http://www.coca-cola.com", 
    "username": "coca-cola", 
    "founded": "1886", 
    "products": "Coca-Cola is the most popular and biggest-selling soft drink in history, as well as the best-known product in the world.\n\nCreated in Atlanta, Georgia, by Dr. John S. Pemberton, Coca-Cola was first offered as a fountain beverage by mixing Coca-Cola syrup with carbonated water. Coca-Cola was introduced in 1886, patented in 1887, registered as a trademark in 1893 and by 1895 it was being sold in every state and territory in the United States. In 1899, The Coca-Cola Company began franchised bottling operations in the United States.\n\nCoca-Cola might owe its origins to the United States, but its popularity has made it truly universal. Today, you can find Coca-Cola in virtually every part of the world." 
} 

Tôi nghĩ rằng tôi sẽ nhận được thông điệp cảnh báo với tôi rằng tôi nên sử dụng một thẻ truy cập khi cố gắng https://graph.facebook.com/Smirnoff.

OK. Hãy để tôi tiếp tục. (Vui lòng thay thế chữ in đậm bằng giá trị thích hợp.)

  1. Vui lòng đăng nhập Facebook và tạo ứng dụng Facebook.

  2. Vui lòng truy cập liên kết này: https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID & redirect_uri = URL & phạm vi = user_status, offline_access

  3. Xin cho phép ứng dụng Facebook của bạn.

  4. Hãy có mã thông báo truy cập bằng cách sử dụng liên kết này: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credentials

  5. Hãy có mã thông báo truy cập ứng dụng bằng cách sử dụng liên kết này: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credenti als

  6. Vui lòng truy cập trang của bạn bằng access_token vừa mới nhận.

Theo https://developers.facebook.com/docs/reference/api/, Các kết nối được hỗ trợ cho người dân và các trang bao gồm:

Friends: https://graph.facebook.com/me/friends?access_token=... 
News feed: https://graph.facebook.com/me/home?access_token=... 
Profile feed (Wall): https://graph.facebook.com/me/feed?access_token=... 
Likes: https://graph.facebook.com/me/likes?access_token=... 
Movies: https://graph.facebook.com/me/movies?access_token=... 
Music: https://graph.facebook.com/me/music?access_token=... 
Books: https://graph.facebook.com/me/books?access_token=... 
Notes: https://graph.facebook.com/me/notes?access_token=... 
Permissions: https://graph.facebook.com/me/permissions?access_token=... 
Photo Tags: https://graph.facebook.com/me/photos?access_token=... 
Photo Albums: https://graph.facebook.com/me/albums?access_token=... 
Video Tags: https://graph.facebook.com/me/videos?access_token=... 
Video Uploads: https://graph.facebook.com/me/videos/uploaded?access_token=... 
Events: https://graph.facebook.com/me/events?access_token=... 
Groups: https://graph.facebook.com/me/groups?access_token=... 
Checkins: https://graph.facebook.com/me/checkins?access_token=... 

Nếu bạn trang là một trang âm nhạc, hãy thử liên kết này: https://graph.facebook.com/me/music?access_token=ACCESS_TOKEN

Xin vui lòng cho tôi biết liệu phương pháp của tôi có hoạt động không. Cảm ơn.

+0

dường như các trang liên quan đến rượu chỉ có sẵn qua api với sự cho phép bổ sung ... do đó sự khác biệt giữa coca-cola và Smirnoff. – kender

+0

Xin chào, tôi đã cập nhật câu trả lời của mình. – Box

+0

@kender, bạn có biết "ủy quyền bổ sung" đó là gì không? Tôi nhận được một số dữ liệu bài trống trở lại ở lần và tôi nghi ngờ nó đang bị kiểm duyệt bằng cách nào đó ... – PEZ

2

Trang cần được xuất bản hoặc không có gì hiển thị trong nguồn cấp dữ liệu

+0

Tốt để biết! làm thế nào tôi có thể kiểm tra thông qua đồ thị api nếu trang được xuất bản? – Roni

-3

Tôi gặp lỗi đặc biệt trên Coca Cola. Khi tôi gửi access_token của tôi trong GET nó có thể kéo các bức ảnh của album của họ. Nếu tôi không chỉ là một bộ trống.

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