UPDATE:
Để trả lời Bộ luật Lỗi API: 191
Các redirect_uri
nên bằng nhau (hoặc người thân) vào URL trang web.
Mẹo: URL Sử dụng cơ sở thay vì URL đầy đủ trỏ đến các trang cụ thể.
KHÔNG NÊN: Ví dụ, nếu bạn sử dụng www.mydomain.com/fb/test.html
như URL trang web của bạn và có www.mydomain.com/fb/secondPage.html
như redirect_uri
này sẽ cung cấp cho bạn những lỗi 191.
RECOMMENDED: Vì vậy, thay vào đó, URL trang web của bạn được đặt thành URL cơ sở như: www.mydomain.com/
HOẶC www.mydomain.com/fb/
.
tôi đã đi qua Facebook Python sample application ngày hôm nay, và tôi đã sốc nó đã được nêu rõ rằng bạn có thể sử dụng http://localhost:8080/
như Site URL nếu bạn đang phát triển tại địa phương:
Configure the Site URL, and point it to your Web Server. If you're developing locally, you can use http://localhost:8080/
Trong khi tôi là chắc chắn bạn không thể làm điều đó, dựa trên kinh nghiệm của riêng tôi (thử nghiệm rất cũ) có vẻ như bạn thực sự CAN kiểm tra ứng dụng Facebook của bạn tại địa phương!
Vì vậy, tôi nhặt một ứng dụng cũ của tôi và chỉnh sửa tên của nó, trang web URL và URL Canvas: URL Site: http://localhost:80/fblocal/
Tôi đã tải về mới nhất của Facebook PHP-SDK và ném nó trong thư mục xampp/htdocs/fblocal/
tôi.
Nhưng tôi gặp lỗi giống với lỗi của bạn!Tôi nhận thấy rằng XAMPP đang làm một chuyển hướng tự động để http://localhost/fblocal/
vì vậy tôi thay đổi cài đặt chỉ đơn giản là http://localhost/fblocal/
và lỗi đã biến mất NHƯNG tôi phải loại bỏ các ứng dụng (từ privacy settings) và cài đặt lại ứng dụng của tôi và đây là kết quả:
Sau đó, yêu cầu các publish_stream
phép, và tôi đã có thể xuất bản vào hồ sơ của tôi (bằng cách sử dụng PHP-SDK):
$user = $facebook->getUser();
if ($user) {
try {
$post = $facebook->api('/me/feed', 'post', array('message'=>'Hello World, from localhost!'));
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
Kết quả:
Đối với người đọc: hãy lưu ý rằng câu hỏi này và câu trả lời được chấp nhận áp dụng cho cả máy chủ cục bộ và phát triển/thử nghiệm cũng như máy chủ và url thực! – Stefano