前些日子在製作FB APP的時,裡頭有個功能是上傳照片到自己的相簿。途中當然是遇到些許困難,在這分享FB APP在製作上傳照片功能所要注意的地方
A.因上傳照片需具有發佈的權限
A.在上傳照片前一步是要建立一個相簿,不然照片無法上傳,除非直接帶入相簿編號在此不直接帶入編號,而是直接建立相簿並取得相簿編號
一、新物件上增加fileupload
$facebook = new Facebook(array(
'appId' => $fbconfig['appid'],
'secret' => $fbconfig['secret'],
'fileUpload' => true,
'cookie' => true
));
二、呼叫上傳函數
A.使APP具有上傳的功能$facebook = new Facebook(array(
'appId' => $fbconfig['appid'],
'secret' => $fbconfig['secret'],
'fileUpload' => true,
'cookie' => true
));
$facebook->setFileUploadSupport(true);
三、增加發佈的權限
A.因上傳照片需具有發佈的權限
publish_stream
四、建立相簿
A.在上傳照片前一步是要建立一個相簿,不然照片無法上傳,除非直接帶入相簿編號在此不直接帶入編號,而是直接建立相簿並取得相簿編號
//Create an album
$album_details = array(
'message' => '測試上傳相簿描述',
'name' => '測試上傳相簿名稱'
);
$create_album = $facebook->api('/me/albums', 'post', $album_details);
$album_uid = $create_album['id'];
伍、上傳照片
$access_token = $facebook->getAccessToken();//使用者訪問權限
$file = $_FILES['FileName']['name']; //上傳的檔案
$photo_details = array(
'message' => '測試上傳相片以及標記好友名稱'
);
$photo_details['image'] = '@' . realpath($file);
$upload_photo = $facebook->api('/' . $album_uid . '/photos?access_token=' . $access_token, 'post', $photo_details);
//p($upload_photo); //印出來的ID是照片的ID
$pid = $upload_photo["post_id"];
4 則留言:
您好
請問
message
如何斷行
或者寫入超連結呢?
把message那邊改成
'message' => '測試上傳斷行
相簿描述 http://www.google.com'
斷行只要用ENTER段就可以,網址只要打上去便可
我發現應用程式執行之後,似乎會重複建立相簿,沒有辦法存於同一個相簿裡面
必須把你上一個建立的相簿ID給存起來
$album_uid
下次同一個使用者使用的時候先去找上一個相簿ID是否還存在 如果不存在在重新建立,如果存在 再把舊的相簿ID重複使用便可
張貼留言