1

这是一系列关于使用 Facebook 开放图实现的问题。

因此,我对 api 进行了这样的查询: $this->facebook->api('me/namespace:action', 'post', $args );

我的第一个问题是帖子出现在哪里?例如,如果我使用以下参数进行调用:

    $args = array(
            //'message'   => 'I just posted a pub review at PubJudge.com',
        'website'=>'www.pubjudge.com',
        'user'=>current_url(),
        'link'      => 'http://www.pubjudge.com/',
        'caption'   => 'Independent, social, pub reviews.'
    );

该帖子出现在我的时间线上的“活动”下

据我了解,如果用户明确分享一个动作,它将出现在时间线上。它是否正确?

“fb:explicitly_shared”是应该在 $args 数组中传递的参数吗?

接下来是 Facebook 的自定义元数据。在这种情况下,我的对象是一个用户,我通过 $args 数组传递他们的 URL。然后,Facebook 会抓取该数组以从此链接上的自定义元标记中获取数据。它是否正确?此 url 是否必须是启动操作的 url?我可以在我的网站上没有一个页面,它只是基于 $_GET 变量生成自定义元标记 - 这样我可以让所有这些复杂的 Facebook 内容独立于主站点。

有谁知道为什么 Facebook 会为这样的开放图形操作获取数据?

最后,因为 Facebook 会像这样抓取数据,所以我无法在本地主机上测试此功能。(我可以这样做,但它会非常复杂)我选择的是 testing.domain.com 地址来测试我的网站和此功能,同时将 domain.com 作为我的主要实时稳定站点。

我还创建了两个应用程序.. 我的主应用程序和一个测试应用程序,因为如果我使用我的主应用程序,我必须将站点 url 更改为 testing.domain.com,这会破坏我的稳定站点。这是一个合适的方法吗?

4

1 回答 1

3

据我了解,如果用户明确分享一个动作,它将出现在时间线上。它是否正确?

对,那是正确的。您可以在Facebook 文档中找到有关显式共享的更多信息。要从文档中注意到,您必须将您的操作标记为能够在您的应用仪表板上明确分享,并且 Facebook 必须批准它。

“fb:explicitly_shared”是应该在 $args 数组中传递的参数吗?

是的。

接下来是 Facebook 的自定义元数据。在这种情况下,我的对象是一个用户,我通过 $args 数组传递他们的 URL。然后,Facebook 会抓取该数组以从此链接上的自定义元标记中获取数据。它是否正确?

是的,Facebook 会抓取您传递的 URL,以便他们可以从该链接的 OG 标签中获取数据。

此 url 是否必须是启动操作的 url?我可以在我的网站上没有一个页面,它只是基于 $_GET 变量生成自定义元标记 - 这样我可以让所有这些复杂的 Facebook 内容独立于主站点。

不,它不必是生成操作的 url。您可以在您的网站上有一个单独的页面,实际上您甚至可以使用 javascript 将登陆该页面的用户重定向到更合适的页面。

有谁知道为什么 Facebook 会为这样的开放图形操作获取数据?

这可能是一个比你意识到的更深层次的问题。简而言之,他们正在尝试创建一个语义网。长答案将是一篇论文。

最后,因为 Facebook 会像这样抓取数据,所以我无法在本地主机上测试此功能。

您可以使用在大多数情况下都有效的反向代理(如果您使用反向代理的端口,我已经看到照片问题)。不是很复杂。像下面这样的东西效果很好:

ssh -nN -f -R externalhost.com:49080:localhost:80 your@credentials.biz

我还创建了两个应用程序.. 我的主应用程序和一个测试应用程序,因为如果我使用我的主应用程序,我必须将站点 url 更改为 testing.domain.com,这会破坏我的稳定站点。这是一个合适的方法吗?

是的,这很正常。我们通常有一个开发应用程序 (localhost)、一个临时应用程序(用于测试的外部主机)和一个生产应用程序。

于 2013-01-14T13:42:28.870 回答