2013-06-26 54 views
11

Tôi đang cố gắng sử dụng Trình khám phá API đồ thị để tạo mã thông báo truy cập cho ứng dụng của tôi để xem các trang của tôi bằng 'me/accounts'. Tuy nhiên, mỗi khi tôi thử điều này, nó trả về cho tôi một tập dữ liệu rỗng. Tôi đã chọn manage_pages làm quyền và nó vẫn không hoạt động. Nếu không kiểm tra bất kỳ quyền nào khác, tôi có thể xem 'tôi/thích', 'tôi/phim', v.v. Tôi không biết mình đang làm gì sai.API biểu đồ Facebook trả về tập dữ liệu rỗng

Đây là những gì tôi đang làm:

https://developers.facebook.com/tools/explorer/

  1. Chọn ứng dụng của tôi từ trình đơn thả xuống.
  2. Bấm "Get access token" >> Kiểm tra "manage_pages" >> Nhận access token
  3. Submit "GET/me/tài khoản"

tôi nhận được:

{ 
    "data": [ 
    ] 
} 

Tôi đã được thông qua một tá tìm kiếm google khác nhau cho câu trả lời cho vấn đề của tôi và đã thử mọi thứ, bao gồm tạo mã thông báo người dùng và mã thông báo ứng dụng. Bất kì sự trợ giúp nào đều được đánh giá cao. Cảm ơn!

CẬP NHẬT 6/27/13 Tôi tìm thấy một số tài nguyên cho biết bao gồm publish_stream là quyền cũng như tôi đã thử. Vẫn không thành công tho. Ngoài ra, ai đó đã gợi ý rằng nó có thể là một vấn đề hạn chế, nhưng ứng dụng của tôi không có giới hạn (ngoại trừ 13+ mặc định).

+1

Và bạn đã xác minh trong [Công cụ gỡ lỗi của Facebook] (https://developers.facebook.com/tools/debug) mà mã thông báo truy cập bạn đang sử dụng có quyền manage_pages không? – Igy

+0

Đúng, tôi thậm chí còn thêm quyền thừa để xem liệu có lẽ tôi cần chúng không. Mỗi lần, trình gỡ rối trả về mã thông báo truy cập của tôi là hợp lệ và có các quyền mà tôi đã chọn. Tuy nhiên, tôi vẫn không nhận được dữ liệu. – user1770011

+1

Và (và tôi nhận ra đây là một câu hỏi ngu ngốc, nhưng đó là lý do rất có thể) - người dùng có mã thông báo truy cập bạn đang sử dụng thực sự có một số trang mà họ là quản trị viên? – Igy

Trả lời

1

Tôi không biết rằng khả năng xem 'trang' của tôi từ/me/account yêu cầu tôi có quyền truy cập 'quản trị viên trang' bổ sung. Sau khi chủ sở hữu ứng dụng cấp cho tôi nó trong ứng dụng, tôi có thể thấy dữ liệu trong Graph Explorer.

+0

Nó bây giờ được gọi là quyền 'pages_show_list' – yash

2

Tôi gặp sự cố tương tự. Tôi cũng là một 'Quản lý' cho một trang (từ trang quản trị trang trên facebook: Chỉnh sửa trang> Quản lý vai trò quản trị viên). Việc đó không đủ - người ta cũng phải đảm bảo mã thông báo truy cập đang được sử dụng có quyền mở rộng 'manage_pages'.

Cũng tham khảo Facebook documentation (cụ thể là phần 2).

Screenshot of the graph explorer access token generator

4

Tôi gặp sự cố tương tự. Một số giải pháp trên stackoverflow chủ yếu là do vấn đề thiếu quyền cần thiết. Kiểm tra các quyền bạn cần bằng cách sử dụng Graph API explorer hoặc documentation (Các bảng có một cột được gọi là quyền cho từng trường). Một số gợi ý đã được sử dụng phạm vi để đề cập cụ thể các quyền mà bạn cần trong nút đăng nhập hoặc trong khi thực hiện cuộc gọi đến api. Ví dụ:

FB.login(function (response) {   
if (response.authResponse) {   
    console.log('Welcome! Fetching your information.... ');   
} else {  
console.log('User cancelled login or did not fully authorize.');   
}   
}, { scope: 'email,publish_stream,user_birthday,user_location' }); 

Tôi đã có một vấn đề khác nhau, nơi tôi đã kiểm tra lại tất cả các thiết lập cấp phép cho bảng điều khiển ứng dụng của tôi mà là chính xác, nhưng khi đăng nhập, tôi đã xác định một phạm vi với một tập các điều khoản mà dường như ghi đè cài đặt ứng dụng. :(Tôi thấy điều này kỳ lạ, nhưng tôi đã sửa đổi nó bằng cách bao gồm các quyền khác trong phạm vi quá và vấn đề của tôi đã được giải quyết.

Một cách hiệu quả để xem nếu đủ quyền hạn được thiết lập thông qua mã là sử dụng đoạn mã sau:

FB.api({ method: 'fql.query', query: 'SELECT  user_status,friends_status,user_photos,friends_photos,user_location,friends_location FROM  permissions WHERE uid=me()' }, function(resp) {   
for(var key in resp[0]) {   
    if(resp[0][key] === "1")   
     console.log(key+' is granted');   
    else   
     console.log(key+' is not granted');   
}   
}); 

PS: Trên một bài tôi cũng tìm thấy một giải pháp mà nói rằng người đó đã có thể để lấy dữ liệu sau khi xóa ứng dụng khỏi tài khoản Facebook và thử nghiệm bằng cách thêm lại. Ngoài ra hãy chắc chắn rằng nếu bạn thay đổi quyền trong bảng điều khiển ứng dụng, bạn đăng xuất khỏi ứng dụng của mình và đăng nhập lại trước khi thử nghiệm.

Tôi lãng phí hơn 3 giờ cố gắng khắc phục vấn đề này và tài liệu trên facebook không giúp tôi một chút, vì vậy hy vọng điều này sẽ giúp ai đó!

1

Tôi cũng gặp sự cố tương tự khi tìm nạp ảnh của mình trong album. đã giải quyết vấn đề này bằng cách thêm quyền có tên "user_status" vào mã thông báo truy cập của tôi.

6

Cũng lưu ý rằng có một quyền người dùng mới, read_insights, cần được bật, nếu không đọc bất kỳ cạnh nào /insights sẽ không tự động với phản hồi trống. Permission dialogue with read_insights highlighted

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