2

Ruby でバックグラウンド サービスを実行して、Facebook ページに 1 日 1 回投稿したいと考えています。これを行う最善の方法は何ですか?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")

myPageNameとして投稿しますme

私は何を間違っていますか?manage_pages許可を求めました。

4

1 に答える 1

6

まあ、間違いなくあなたが探している宝石はKoalaです。

アップデート:

どうやら、Koala gem の実際の設定に問題があるようです。すべてのステップを見てみましょう。

を新たに設定する必要がありますKoala::Facebook::API。恐ろしい名前ですが、これは実際にあなたのプロファイル ユーザーとのつながりです。これを設定するには、Facebook エクスプローラーにアクセスし、[アクセス トークンを取得] ボタンをクリックする必要があります (メッセージを投稿するアカウントでログインしていることを確認してください)。そのアクセス トークンをコピーするだけです。

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

その access_token を使用して、この new を設定し@userます。これで、@user のGraph APIリクエストで「私」に言及するときはいつでも、そのリクエストのターゲットとしてこのユーザー (@user) に言及することになります。「me」は、ユーザー自身の 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 に答える