我正在開發一個應用程序以包含在我的頁面標籤中。在這個應用程序中,用戶將使用網絡攝像頭拍攝照片,並將照片發送到我的粉絲頁面中的特定相冊。access_token - 在粉絲頁面相冊中上傳照片的腳本
我在這裏找到了一個腳本:他工作得很好,但我遇到了問題,腳本使用用戶access_token上傳圖片,不需要詢問所有用戶上傳圖片的權限,因爲腳本使用我的管理員用戶發送到該頁面。
最大的問題是:用戶訪問令牌在2小時後過期,或者當我的管理員用戶未登錄時,權限offline_access被終止,我不知道我的腳本將如何工作。
我需要所有用戶都可以使用系統上傳照片,任何人都知道我可以如何工作?
這裏是在PHP腳本:
`
require_once 'library/facebook.php';
$facebook = new Facebook(array(
'appId' => '<appid>',
'secret' => '<appsecret>',
'fileUpload' => true
));
$access_token = 'access_token';
$params = array('access_token' => $access_token);
$fanpage = 'page_id';
$album_id ='album_id';
$accounts = $facebook->api('/ADMIN_ACCOUNT/accounts', 'GET', $params);
foreach($accounts['data'] as $account) {
if($account['id'] == $fanpage || $account['name'] == $fanpage){
$fanpage_token = $account['access_token'];
}
}
$valid_files = array('image/jpeg', 'image/png', 'image/gif');
$img = realpath("image_path");
$args = array(
'message' => 'message to write in legend',
'image' => '@' . $img,
'aid' => $album_id,
'no_story' => 1,
'access_token' => $fanpage_token
);
$photo = $facebook->api($album_id . '/photos', 'post', $args);
if(is_array($photo) && !empty($photo['id'])){
echo '<p><a target="_blank" href="http://www.facebook.com/photo.php?fbid='.$photo['id'].'">Click here to watch this photo on Facebook.</a></p>';
}`
Tks,訪問令牌有效期爲兩個月。 這樣就可以使腳本自動更新訪問令牌嗎?在此過期之前使用curl獲取新的訪問令牌。這可以工作嗎? –
不,用戶需要經常回來以獲得擴展令牌 – Igy
@Igy認真思考更好,只有當我的用戶登錄fb時纔會生成令牌,因此,無法創建腳本來續訂令牌自動 –