2

我想在 Ruby 中运行一个后台服务,每天发布一次到我的 Facebook 页面。最好的方法是什么?我已经阅读了 Graph API,但他们的大部分文档都依赖于首先向用户请求权限。我如何授予这些权限供我自己使用,而不是我的应用程序的最终用户?例如,Twitter 为您提供身份验证令牌以连接到您自己的帐户。

这里很多关于 Graph API 的答案都已经过时了。我正在使用 Ruby,因此对于 gem 或他们网站上的任何 SDK 的任何建议。

更新

感谢@oldergod 的回复。我有一个更新的问题。

当我这样做时,我可以发布到myPageNametomyPageName的墙。

@graph.put_connections("myPageName", "feed", :message => "I am writing on my wall!")

但是当我这样做时:

@graph.put_connections("me", "feed", :message => "I am writing on my wall!", :link => "http://google.com")

它发布myPageNameme

我究竟做错了什么?我已请求manage_pages权限。

4

1 回答 1

6

好吧,您要寻找的宝石肯定是考拉

更新:

看起来,您在设置 Koala gem 的实际配置时遇到了一些问题。让我们完成每一步。

您需要设置一个新的Koala::Facebook::API. 尽管这是一个可怕的名字,但这确实是与您的个人资料用户的联系。要进行此设置,您需要访问Facebook 资源管理器并单击获取访问令牌按钮(确保您使用要发布消息的帐户登录)。只需复制该访问令牌

@user = Koala::Facebook::API.new(access_token)

使用那个 access_token 来设置这个新的@user. 现在,每当您在 @user 上的任何Graph API请求中提及“我”时,您都会提及此用户 (@user) 作为该请求的目标。“我”只是用户本身的 facebook ID。

最后一步就是发布到您的用户的提要页面。

@user.put_connections("me", "feed", :message => "I am writing on my wall!")

因此,如果您想在墙上发布页面。你可以这样做

@user = Koala::Facebook::API.new(access_token)
page_access_token = @user.get_connections('me', 'accounts').first['access_token'] #this gets the users first page.
@page = Koala::Facebook::API.new(page_access_token)
@page.put_connections(user_id, "feed", :message => "Page writting to user's wall!")

只需转到 graph.facebook.com/user_path 并获取 your_ID。

于 2013-09-01T14:55:58.330 回答