web-dev-qa-db-ja.com

Node.jsサーバーからFacebookページへの自動投稿

ソーシャルネットワークサイトを実行しているNode.jsサーバーがあり、そのサイトのFacebookページもあります。私のサイトでユーザーが実行した特定のアクションについて、アプリのFacebookページに詳細を投稿したいと思います。

Facebookの壁に投稿する方法については、Thuzi facebook node sdk here を参照しました。ただし、アプリID、アプリシークレット、一時アクセストークンが必要です。アプリIDとアプリシークレットは定数なので、設定ファイルのどこかに配置して、そこから使用できます。しかし、フロントエンドからの対話なしでアクセストークンを取得するにはどうすればよいですか?すべての投稿は私たちのアプリでのみ公開され、それも私たち自身のページで公開されます。エンドユーザーのアクションによってトリガーされるようにしたいだけです。何か助け?

私はSails.jsフレームワークを使用しています。

20
Mandeep Singh

そのためには、拡張ページトークンを使用する必要があります。作成する必要があるのは1度だけで、永久に有効です。そして、ページトークンを使用して「ページとして」投稿します。拡張ページトークンを取得する方法:

  • アプリを作成する
  • Graph API Explorer を使用してユーザーアクセストークンを生成します(manage_pagesおよびpublish_actions権限でアプリを承認することにより)
  • ユーザーアクセストークンの延長(60日間有効)
  • /me/accountsを呼び出して拡張ページトークンをリクエストする

その拡張ページトークンをサーバーに保存し、それを ページウォールへの投稿 に使用します。

以下は、すべてを詳細に説明する追加のリソースです。

30
luschn

また、このためのノードモジュールに取り組んでいるので、このことについても掘り下げています。

これまでは、一時的なaccess_tokenを作成でき、そのトークンを最大60日まで延長できることを知っていました。

このため、一時的なトークンを取得した後、このURLを呼び出して、有効期間が60日のアクセストークンを取得する必要があります。

https://graph.facebook.com/oauth/access_token?client_id= &client_secret =&grant_type = fb_exchange_token&fb_exchange_token =

0
Ankur Rastogi