1

我在 facebook 上有一个应用程序,我也想在不同的应用程序上使用这个相同的系统。我将所有数据都存储在数据库中(appid、appsecret、pageid 等),但是如果我在 facebook 中加载应用程序,我无法弄清楚当前应用程序是什么 appid。

例如:当我访问 app_1234567890123456 时,我的应用程序必须弄清楚“嘿,这是 ID 为 1234567890123456 的应用程序,让我们看看我的数据库中是否有那个”

但现在我的应用更像是“wtf?我真的不知道这一切是什么”。

我知道 facebook 有这个东西 $facebook->getAppId,但为了做到这一点,我需要使用应用程序机密和 appid 与 facebook 连接,而那是我当时不知道的两件事。如果我从当前 url 知道 appID,我只能与 facebook 建立连接。

4

2 回答 2

1

当用户在 facebook 中访问您的画布应用程序时,facebook 会将数据发布到您在应用程序设置中设置的 url。

您通过该帖子获得的数据是签名请求,除非加载到页面页面中,否则不包括应用程序数据。

您在服务器端拥有的 sdk(从您的代码看起来像 php sdk)不知道应用程序数据,您需要自己将其传递给 sdk,因此您必须自己弄清楚.

我建议您为应用程序设置不同的画布 URL,因此:

  • 应用 #1 获取:example.com/facebookapp1
  • 应用 #2 获取:example.com/facebookapp2

您可以使用相同的系统来提供这些 url,并且它对两者的作用相同,只是它会知道用户请求哪个应用程序。

于 2012-03-26T11:28:26.683 回答
0

您可以从签名请求参数中获取 Facebook 页面 ID

http://developers.facebook.com/docs/authentication/signed_request/

根据您的实现,您也许可以使用它来代替?

于 2012-03-26T11:46:00.113 回答