我正在开发一个Rails 4应用程序.在我的笔记本电脑上,开发完成了localhost:3000.该网站的实际域名是roomidex.com.
如何设置Facebook应用程序以便它适用于生产和开发?
这是当前的配置:
App Domains: roomidex.com
Website With Facebook Login:
Site URL: http://www.roomidex.com
Run Code Online (Sandbox Code Playgroud)
当我尝试在localhost:3000上进行Facebook登录时,我发现这并不奇怪:
{
"error": {
"message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
"type": "OAuthException",
"code": 191
}
}
Run Code Online (Sandbox Code Playgroud) 我一直收到以下错误
应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL.它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域.
当我尝试使用我的PHP代码片段登录用户时(见下文).我的Facebook设置如下:
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/
Run Code Online (Sandbox Code Playgroud)
我在这里,这里,这里,这里和这里都读过类似的问题,他们似乎都说了同样的话:我的网站URL(Facebook登录网站)不正确.
但我的Openshift URL就是这样的
http://myappname-mynamespace.rhcloud.com
Run Code Online (Sandbox Code Playgroud)
这就是我在Facebook Site URL字段中输入的内容.我index.php在Openshift设备的根目录中有以下PHP代码():
<?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 = …Run Code Online (Sandbox Code Playgroud)