【问题标题】:Open Graph Post an custom Action types using koalaOpen Graph 使用 koala 发布自定义 Action 类型
【发布时间】:2012-05-08 01:20:34
【问题描述】:

目前,我正在使用 Koala 1.4.0 做开放图。

我确实创建了一个 动作类型:查看 对象类型:广告

我目前希望归档的是: 当点击页面上的查看按钮时,在 facebook 代码上,它会显示,用户正在查看广告。

我得到的错误:

    HTTP 500: Response body: {"error":{"type":"Exception","message":"The action you're trying to publish is invalid because it does not specify any reference objects. At least one of the following properties must be specified: advertisement."}}

我是如何做到的:

graph = Koala::Facebook::API.new(@user.token)
graph.put_connections("#{@user.uid}", "namespace:View" , :object=>"#{url_for(@advertisement)}"

它在我的显示控制器中。在我的 show.html.erb 中,我确实包含了所有元数据。我也使用 koala 分享到 Facebook 功能,它运行良好,成功地从我的页面获取元数据并将其发布到 Facebook。

使用导轨 3.0.9。

【问题讨论】:

    标签: ruby-on-rails facebook facebook-opengraph koala


    【解决方案1】:

    这对我有用:

    @graph.put_connections("me", "namespace:action", :object => object_url)

    【讨论】:

    • 嗨,兄弟, :object => object_url 是什么意思?我应该放什么?因为如果我输入 :object 就会出错
    • 当您创建您的操作时,您通常会定义一个“关联对象类型”,例如 Facebook 个人资料、页面、您自己的对象或任何您喜欢的对象。这些对象都有 URL。因此,如果您的操作是针对某人的个人资料,您将有类似的内容:@graph.put_connections("me", "my_company:some_action", :profile => 'facebook.com/someuser')
    • 我会在试用后回复你,谢谢回复!但我所做的是 graph.put_connections("#{@user.uid}", "friendadvert:View" , :advertisement=>"#{url_for(@advertisement)}" 我确实创建了我的新动作和对象类型,并且确实包含在我的网站中,为什么它不起作用?
    【解决方案2】:

    我不熟悉 Koala,但您似乎应该在 graph.put_connections 调用中使用 ':advertisement' 代替 ':object'。示例:

    graph.put_connections("#{@user.uid}", "namespace:View" , :advertisement=>"#{url_for(@advertisement)}"
    

    【讨论】:

    • 您好,很抱歉回复晚了。我确实尝试了你的方法,它给了我不同的错误。 > Koala::Facebook::APIError (HTTP 500: Response body: {"error":{"type":"Exception","message":"Could not retrieve data from URL in my show there, I did include meta for它,我设法通过从我的页面获取元数据来共享,并且它成功了。所以我不知道为什么它不能从同一个 URL 检索数据
    • 该错误告诉您 Facebook 无法从您提供的 URL 中获取适当的信息。当您针对 URL 发布操作时,请尝试使用调试工具检查 Facebook 看到的内容。见developers.facebook.com/tools/debug
    • yupz,我确实使用了那个调试工具。也感谢你的信息。但是,facebook 为我提到了这件事 > 错误的响应代码:URL 返回了错误的 HTTP 响应代码。 >缺少必需的属性:“og:url”属性是必需的,但不存在。缺少必需属性:“og:type”属性是必需的,但不存在。缺少必需属性:“og:title”属性是必需的,但不存在。嗯,我的网页里有这些东西,但我不知道为什么它不能从那里检索并给我一个错误@@izit 我的考拉做错了?我确实尝试了特定网址的完整路径。它起作用了
    • 你能分享你正在使用的网址吗?
    • 对不起,伙计,你知道我在发什么吗? @@
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多