CẬP NHẬT:
Để trả lời Mã lỗi API: 191
Giá trị redirect_uri
phải bằng (hoặc tương đối) với URL của trang web.
Mẹo: Sử dụng URL cơ sở thay vì URL đầy đủ trỏ đến các trang cụ thể.
KHÔNG ĐƯỢC KHUYẾN NGHỊ: Ví dụ: nếu bạn sử dụng www.mydomain.com/fb/test.html
làm URL trang web của mình và có www.mydomain.com/fb/secondPage.html
như redirect_uri
vậy sẽ gây ra lỗi 191.
KHUYẾN CÁO: Vì vậy, thay vào đó hãy đặt URL trang web của bạn thành URL cơ sở như: www.mydomain.com/
HOẶC www.mydomain.com/fb/
.
Tôi đã xem qua ứng dụng mẫu Python của Facebook ngày hôm nay và tôi đã rất ngạc nhiên khi nó tuyên bố rõ ràng rằng bạn có thể sử dụng http://localhost:8080/
làm URL trang web nếu bạn đang phát triển cục bộ:
Định cấu hình URL trang và trỏ nó đến Máy chủ Web của bạn. Nếu bạn đang phát triển cục bộ, bạn có thể sử dụng
http: // localhost: 8080 /
Trong khi tôi đã chắc chắn rằng bạn không thể làm điều đó, dựa trên kinh nghiệm của riêng tôi (rất cũ kiểm tra mặc dù) có vẻ như bạn thực sự THỂ thử nghiệm ứng dụng Facebook của bạn tại địa phương!
Vì vậy, tôi đã chọn một ứng dụng cũ của mình và chỉnh sửa tên của nó, URL trang web và URL canvas: URL trang web: http://localhost:80/fblocal/
Tôi đã tải xuống Facebook PHP-SDK mới nhất và ném nó vào xampp/htdocs/fblocal/
thư mục của mình .
Nhưng tôi cũng bị lỗi giống như của bạn! Tôi nhận thấy rằng XAMPP đang thực hiện chuyển hướng tự động đến http://localhost/fblocal/
vì vậy tôi đã thay đổi cài đặt thành đơn giản http://localhost/fblocal/
và lỗi đã biến mất NHƯNG tôi phải xóa ứng dụng (khỏi cài đặt quyền riêng tư ) và cài đặt lại ứng dụng của mình và đây là kết quả:
Sau đó, tôi đã yêu cầu sự publish_stream
cho phép và tôi có thể xuất bản lên hồ sơ của mình (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;
}
}
Các kết quả: