1
我設法使用自定義應用程序將狀態張貼到牆上,但是我想要做的是計劃狀態,並將其發佈到給定的日期時間。如何使用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權限,就使用app訪問令牌。但是,如果用戶更改密碼,則他們需要重新驗證您的應用。 – DMCS 2012-01-10 18:20:12
你在哪裏存儲訪問令牌,在會話中?因爲我真的不知道如何用cron運行腳本,並帶有一個參數。 – samn 2012-01-11 08:47:37
只需將其存儲在數據庫中... – 2012-01-11 08:49:41