2011-02-23 33 views
5

Tôi đang cố gắng sử dụng kết nối facebook cho trang web của mình. Tất cả đều tốt khi tôi thử và đăng nhập với tư cách người dùng bình thường, tất cả thông tin chính xác đều được trả về. Tuy nhiên, khi tôi đăng nhập dưới dạng tài khoản "TRANG", mọi thứ bắt đầu trở nên kỳ lạ. Sau khi đăng nhập thành công, nếu tôi sử dụng các thông tin sau: https://graph.facebook.com/me/?access_token= {access token}, tôi bị "sai" trở lại. Nếu tôi thay thế "tôi" bằng ID của tài khoản trang, thì tôi sẽ lấy lại thông tin chính xác.API biểu đồ Facebook trả về false cho Tài khoản trang

Một vấn đề khác là, sau khi đăng nhập, cookie phiên fbs_appID được đặt sai "uid" sau khi đăng nhập thành công dưới dạng tài khoản "TRANG". Tất cả là tốt với một tài khoản người dùng bình thường.

Tất cả cài đặt trên trang của tôi là "13+" và không có giới hạn quốc gia.

Mọi người có thể giúp bạn không?

Trả lời

-1

Tôi nghĩ có gì đó không ổn với phần đăng nhập của bạn.

Nếu bạn đang sử dụng Javascript SDK:

Hãy thử điều này console.dir(FB.getSession());

Nếu bạn đang sử dụng PHP SDK: sau đó thử:

$session = $facebook->getSession(); 
print_r($session); 

Và kiểm tra trong giao diện điều khiển nếu bạn đang nhận được đúng phiên hay không.

http://graph.facebook.com/me luôn sẵn có cho đến khi và trừ khi bạn đăng nhập. Nó thậm chí không yêu cầu bất kỳ quyền bổ sung nào.

1

Chúng tôi đang nhận được hành vi tương tự.

Nếu đăng nhập khi đăng nhập như một trang Facebook, Facebook thường hiển thị hộp thoại có nội dung "Bạn không thể đăng nhập dưới dạng Trang Facebook. Chuyển sang xxx người dùng".

Vì vậy, bạn nên luôn có được người dùng thông thường trong mã kết nối FB của mình.

Nhưng có vẻ như đôi khi Facebook không xử lý đúng cách và cho phép người dùng cố gắng đăng nhập dưới dạng Trang Facebook. Và sau đó mã truy cập bạn nhận được không cho phép bạn nhận thông tin người dùng.

Vì vậy, tôi nghĩ rằng không có gì bạn có thể làm, chỉ cần cảnh báo người dùng rằng anh ấy phải đăng nhập như một người dùng Facebook thông thường.

Đây là các thông tin đầy đủ giao thông chúng tôi nhận được: (với mã ẩn danh):

 
GET /oauth/access_token?client_id=xxxxx&redirect_uri=xxxxx&client_secret=xxxx&code=xxx HTTP/1.1 
Connection: close 
Host: graph.facebook.com 


HTTP/1.1 200 OK 
Cache-Control: private, no-cache, no-store, must-revalidate 
Content-Type: text/plain; charset=UTF-8 
Expires: Sat, 01 Jan 2000 00:00:00 GMT 
Pragma: no-cache 
X-FB-Rev: 401390 
X-FB-Server: 10.42.17.21 
Connection: close 
Date: Wed, 06 Jul 2011 10:38:11 GMT 
Content-Length: 122 

access_token=xxxx&expires=4909 



GET /me?access_token=xxxx HTTP/1.1 
Connection: close 
Host: graph.facebook.com 

HTTP/1.1 200 OK 
Cache-Control: private, no-cache, no-store, must-revalidate 
Content-Type: text/javascript; charset=UTF-8 
ETag: \"7cb6efb98ba5972a9b5090dc2e517fe14d12cb04\" 
Expires: Sat, 01 Jan 2000 00:00:00 GMT 
P3P: CP=\"Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p\" 
Pragma: no-cache 
X-FB-Rev: 401390 
Set-Cookie: datr=aTsUTlxHtaaaK67aCdYmQbCO; expires=Fri, 05-Jul-2013 10:39:37 GMT; path=/; domain=.facebook.com; httponly 
X-FB-Server: 10.32.3.116 
Connection: close 
Date: Wed, 06 Jul 2011 10:39:37 GMT 
Content-Length: 5 

false 
-3

Hủy bỏ bất kỳ độ tuổi và/hoặc Hạn chế quốc gia từ các cài đặt trang.

1

Tôi đã xóa giới hạn quốc gia "mặc định" khỏi cài đặt trang và dữ liệu đến bình thường thông qua API đồ thị. Nó sẽ là tốt để biết lý do tại sao nó ảnh hưởng đến các yêu cầu api.

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