私は自分の壁にカスタムアプリケーションでステータスを投稿することができましたが、私がしたいことは、ステータスをスケジュールして、指定された日時に掲示することです。phpとcUrlでウォールポストをスケジューリングする方法
私のアプリを閉じると、問題は、スクリプトが中止されたことです。 今すぐ動作します。私はignore_user_abort(true)とsleep()を使用しています。
また、指定された日時が経過するとset_time_limit(1)も使用されるため、スクリプトは停止します。
私はこれが嘘つきコーディングであると感じ、これを行うより良い方法があるかどうかを知りたいと思っていますか?
ここで私が今使っているコードです:
<?php
ignore_user_abort(true);
$token=$_GET["access_token"];
$attachment = array(
'access_token' => "$token",
'message' => "deze post moet om 14.14 online komen",
'name' => "testpost",
'link' => "http://myurl.be/",
'description' => "Write here your description",
'picture'=> "http://myurl/assets/images/layout/logo.png");
date_default_timezone_set('Europe/Belgrade');
$time= date('d/m/Y H:i');
if ("10/01/2012 14:14" < $time){
set_time_limit(1);
$result = $facebook->api('/me/feed/','post',$attachment);
}else{
sleep(60);
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "https://www.myurl.com/tests/facebooklogin/post.php?access_token=".$token);
curl_exec ($curl);
curl_close ($curl);
}
print $result;
?>
私はBjornがここに書いたものだけを行う現在のプロダクションアプリを持っています。これがあなたの答えです。しかし、ユーザーアクセストークンが期限切れになっても、Facebookはそれに対して「修正」をしています。 publish_stream権限をリクエストしている場合、アプリのアクセストークンを使用すると言います。ただし、ユーザーがパスワードを変更すると、アプリを再認証する必要があります。 – DMCS
そして、アクセストークンはどこにセッションに保存しますか?私は実際にどのように私がcronでパラメータを使ってスクリプトを実行できるかを知ることができないからです。 – samn
ちょうどデータベースにそれを保存してください... –