【问题标题】:Facebook opengraph. Meta tags, localhost, custom actions, and testing脸书开放图。元标记、本地主机、自定义操作和测试
【发布时间】:2012-12-28 10:32:42
【问题描述】:

这是关于使用 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,这会破坏我的稳定站点。这是一个合适的方法吗?

【问题讨论】:

    标签: facebook facebook-graph-api facebook-php-sdk facebook-opengraph


    【解决方案1】:

    据我了解,如果用户明确分享某个操作,它将 出现在时间线上。这是正确的吗?

    是的,没错。您可以在Facebook docs for explicit sharing 找到更多信息。要从文档中指出,您必须将您的操作标记为能够在您的应用仪表板上明确分享,并且 Facebook 必须批准它。

    “fb:explicitly_shared”是应该在 $args 数组?

    是的。

    接下来是 Facebook 的自定义元数据。在这种情况下,我的对象是 用户,我通过 $args 数组传递他们的 URL。那时脸书 抓取此数组以从此链接上的自定义元标记获取数据。 这是正确的吗?

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

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

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

    有谁知道为什么 Facebook 会获取开放图形操作的数据,例如 还是这个?

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

    最后因为 Facebook 像这样抓取数据,我无法对此进行测试 我的本地主机上的功能。

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

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

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

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

    【讨论】:

    • 完美答案!非常感激 !我将研究反向代理。我想我唯一的额外查询是关于“其他地方”的可抓取页面本身是否是一个好的实现..?
    • 对于某些应用,比如我们只想将用户重定向回主游戏页面的游戏,我们使用专用路径(例如myapp.com/opengraph)。但是假设你是卖鞋的。您可能希望每个产品页面都是一个 opengraph 对象,因此 OG 标签将成为您主站点每个页面的一部分。希望对您有所帮助。
    • 当你说我们可以使用不同的页面。这是否也意味着我可以通过提供 post/get 数据将 mywebsite.com/dynamicobjectpage.php 用于所有对象?因为我正在尝试这样做,但我一直遇到麻烦,因为我的一个对象已经注册到它。
    • 抱歉,您的问题不清楚。也许用代码示例和您收到的错误消息示例打开一个新问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2015-06-06
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 2016-09-30
    • 2011-12-18
    相关资源
    最近更新 更多