Facebookのファンページを4つ運営しています。ユーザーが彼のウェブサイトでニュースを作成するたびに、私はそれを Facebook に投稿します。これで、ボタンを押すだけでニュースが投稿されるようになりました。これを自動化したい。これどうやってするの?私の問題は、それが私の Facebook アカウントに関連付けられていて、cron ジョブで実行されていないか、何も投稿されていないことです。ログインデータを、Cronjob が常にログインできるファイルに使用できますか?
質問する
856 次
1 に答える
2
基本的に、永続的なアクセスに必要な情報を取得して保存するスクリプトが必要です。
まず、ページの永続的なアクセス トークンを取得する必要があります。
- 適切な権限でアプリを許可するようユーザーに取得する
- ユーザー アクセス トークンを取得する
- 拡張ユーザー アクセス トークンのユーザー アクセス トークンを変更する
このステップの実行方法は次のとおりです(curlを使用することもできます)
$token_url = "https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUT_APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=OLD_TOKEN";
$accessToken = @file_get_contents($token_url);
- /me/accounts にユーザー拡張アクセス トークンを使用してクエリを実行し、ページを取得します
- 拡張アクセス トークンのページ アクセス トークンを変更します (上記と同じコード) (編集: 拡張ユーザー トークンを使用して /accounts をクエリすると拡張ページ トークンが付与されるため、この手順は古くなっています)
ページ ID、拡張アクセス トークン、および好きなものを保存し、それらを取得して公開スクリプトで API 呼び出しを行うだけです。
そのようにして、複数のFacebookユーザーから複数のページに投稿することもできます:)
cron ジョブに関しては、頻繁に再投稿する必要がない限り、もう必要ありません。現在の日付から 6 か月まで、Facebook の API を介して投稿をスケジュールできます。
$attachements = array(
'access_token' => $page->getToken(),
'message' => 'MY MESSAGE',
'scheduled_publish_time' => THE_TIMESTAMP,
'published' => false
);
于 2013-11-09T21:41:46.967 に答える