tôi tiếp tục nhận được lỗi sauURL không được phép: Facebook PHP đăng nhập
URL Do không được phép bởi cấu hình ứng dụng .: Một hoặc nhiều URL đã cho là không được phép bởi các thiết lập của ứng dụng. Phải khớp với URL của trang web hoặc URL Canvas hoặc tên miền phải là tên miền phụ của một trong các miền của ứng dụng.
khi tôi cố đăng nhập người dùng bằng đoạn mã PHP của tôi (xem bên dưới). thiết lập Facebook của tôi như sau:
App Domains: myappname-mynamespace.rhcloud.com www.myappname-mynamespace.rhcloud.com
Site URL: http://myappname-mynamespace.rhcloud.com/
Canvas Page: http://apps.facebook.com/myappname
Canvas URL: http://myappname-mynamespace.rhcloud.com/
Secure Canvas URL: https://myappname-mynamespace.rhcloud.com/
Tôi đã đọc câu hỏi tương tự here, here, here, here và here và tất cả dường như nói cùng một điều: URL trang web của tôi (Website với Facebook Đăng nhập) là không chính xác .
Nhưng URL OpenShift của tôi là như thế này
http://myappname-mynamespace.rhcloud.com
vì vậy đó là những gì tôi đưa vào trường URL Facebook Site. Tôi có mã PHP sau (index.php
) trong thư mục gốc của Openshift thiết bị của tôi:
<?php
require 'php-sdk/facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxxx',
'secret' => 'xxxx'
));
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Facebook PHP</title>
</head>
<body>
<h1>Hello World!</h1>
<?php
// get user from facebook object
$user = $facebook->getUser();
if ($user): // check for existing user id
echo '<p>User ID: ', $user, '</p>';
else: // user doesn't exist
$loginUrl = $facebook->getLoginUrl(array(
'display' => 'popup',
'redirect_uri' => 'http://apps.facebook.com/myappname'
));
echo '<p><a href="', $loginUrl, '" target="_top">login</a></p>';
endif;
?>
</body>
</html>
Tôi đang làm gì sai?
Khi tôi nhập URL của ứng dụng Facebook (http://apps.facebook.com/myappname
), Hello World!
và liên kết đăng nhập của tôi được hiển thị trên đầu khung nội tuyến của ứng dụng Facebook của tôi. Tuy nhiên khi tôi nhấp vào liên kết đăng nhập, tôi nhận được lỗi được đề cập ở trên. Bất kỳ trợ giúp sẽ được đánh giá cao!
EDIT
tôi bước vào url sau trong trình duyệt của tôi và Hello World
và liên kết đăng nhập được cả hai hiển thị.
http://myappname-mydomainname.rhcloud.com/
https://myappname-mydomainname.rhcloud.com/
Mọi thứ đều ổn. Nhưng chỉ là một shot trong bóng tối: khi tôi so sánh cấu hình của bạn với tôi, tôi sẽ nói rằng bạn cần thêm dấu gạch chéo ở cuối 'http: // myappname-mynamespace.rhcloud.com' cho URL của trang web. –
+1 Cảm ơn bạn đã trả lời @ StéphaneBruckert Tôi đã kiểm tra lại URL trang web của mình và tôi có dấu gạch chéo «http: // fbtest-projectkohana.rhcloud.com /'. Tôi sẽ sửa câu hỏi của tôi. Tôi có thể đã đặt '/' sau khi viết câu hỏi này nhưng nó vẫn không hoạt động. Đây là ứng dụng thử nghiệm thứ hai mà tôi đang viết đã tạo ra lỗi này. Vấn đề này có liên quan đến việc tôi sử dụng Openshift không? Openshift sử dụng chứng chỉ SSL được chia sẻ cho các tài khoản miễn phí như của tôi. – Anthony
Một thời gian xảy ra bất kỳ điều gì bạn thực hiện thay đổi trong cài đặt FB sẽ ảnh hưởng sau một vài giờ. vì vậy hãy kiểm tra sau khi bạn đã thực hiện thay đổi. – Chandresh