我想在 Ruby 中运行一个后台服务,以便每天在我的 Facebook 页面上发布一次。最好的方法是什么?我已经通读了 Graph API,但他们的大部分文档都依赖于首先向用户请求权限。我如何授予这些权限供我自己使用,而不是我的应用程序的最终用户?例如,Twitter 为您提供身份验证 token 以连接到您自己的帐户。
此处关于 Graph API 的许多答案都已过时。我正在使用 Ruby,所以在他们的网站上有任何关于 gems 或任何 SDK 的建议。
更新
感谢@oldergod 的回复。我有一个更新的问题。
当我这样做时,我可以作为 myPageName
发布到 myPageName
的墙上。
@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")
它以我
的身份发布到myPageName
我做错了什么?我已请求 manage_pages
权限。
最佳答案
嗯,您正在寻找的 gem 绝对是 Koala .
更新:
看起来,您在设置 Koala gem 的实际配置时遇到了一些问题。让我们完成每一步。
您需要设置一个新的 Koala::Facebook::API
。尽管这是一个可怕的名字,但这确实是与您的个人资料用户的联系。要进行设置,您需要访问 Facebook Explorer然后点击Get Access Token 按钮(确保您登录的是您要发布消息的帐户)。只需复制该访问 token 。
@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。
关于ruby-on-rails - 通过 API 作为页面发布到 Facebook 页面(具有管理员权限),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18558155/