在localhost上运行Facebook应用程序

ent*_*tic 92 facebook localhost facebook-chat

我打算从我的localhost连接到Facebook聊天.我需要从Facebook获取会话密钥.当我将网站URL作为localhost:8080ip-address:8080不起作用时.

我读到了如何使用2个不同的API密钥设置两个应用程序,一个在dev m/c上运行,另一个在localhost上运行,但我不太明白.

任何人都可以解释如何在localhost上运行Facebook应用程序?

ifa*_*our 77

我刚才写了一篇关于这个的教程.

最重要的一点是"网站网址":

网站网址: http:// localhost/app_name /

文件夹结构的位置如下:

app_name
¦   index.php
¦
+---canvas
¦   ¦   index.php
¦   ¦
¦   +---css
¦           main.css
¦           reset.css
¦
+---src
        facebook.php
        fb_ca_chain_bundle.crt
Run Code Online (Sandbox Code Playgroud)

编辑:
Kavya:即使没有IP或端口,FB服务器如何识别我的本地主机?

我不认为这与Facebook有任何关系,我因为iframe src参数是从客户端加载的,所以它会将您的本地URL视为直接放在浏览器上.

例如,在您的在线服务器上有一个包含内容的文件(例如online.php):

<iframe src="http://localhost/test.php" width="100%" height="100%">
    <p>Not supported!</p>
</iframe>
Run Code Online (Sandbox Code Playgroud)

在localhost根目录下,拥有以下文件test.php:

<?php echo "Hello from Localhost!"; ?>
Run Code Online (Sandbox Code Playgroud)

现在访问http://your_domain.com/online.php您将看到您的localhost文件的内容!

这就是为什么实时订阅和取消授权回调(仅提及)不适用于localhost URL!因为Facebook会ping(发送http请求)到这些URL,但显然Facebook服务器不会将这些URL转换为你的URL!


小智 29

如果你使用localhost:

在Facebook - >设置 - >基本,在"App Domains"字段中写"localhost",然后点击"+ Add Platform"选择"网站",

它将创建两个字段"移动站点URL"和"站点URL",在"站点URL"中再次写入"localhost".

适合我.


Mat*_*iuk 23

您还可以编辑"主机"文件并创建域的本地变体.

如果您的真实Facebook应用程序地址是"example.com",您可以在指向"localhost"的"hosts"文件中创建"localhost.example.com"(只能从您的电脑访问)域,并在此域下运行您的本地网站.你可以通过这种方式欺骗Facebook.


Car*_*lin 7

在您的应用程序的基本设置(https://developers.facebook.com/apps)下设置 - >基本 - >选择您的应用程序如何与Facebook集成...

使用"网站网址:"和"移动网站网址:"来保存您的生产和开发网址.两个站点都将被允许进行身份验证.我只是使用Facebook进行身份验证,因此我不需要任何移动站点重定向功能.我通常在测试身份验证时将"移动站点URL:"更改为我的"localhost:12345"站点,然后在完成后将其设置恢复正​​常.


Ged*_*nas 6

2013年8月.Facebook不允许为应用程序的端口设置域,例如"localhost:3000".

因此,您可以使用https://pagekite.net将您的隧道localhost:port扩展到正确的域.

Rails开发人员可以免费使用http://progrium.com/localtunnel/.

  • Facebook当时只允许一个域用于App.如果您尝试添加另一个,作为localhost,它将显示有关域的某种不同错误.请务必在当时仅使用一个域进行回调和应用域设置.