我需要通過圖表api上傳一些照片到Facebook,但照片不在同一臺服務器上,這可能嗎?如何通過圖形api上傳照片,但當照片在服務器外?
回答
這是可能的,但需要存儲本地副本的中間步驟(如@jlb所述)。您只需要您想要拉取的圖像的URL和適當的Facebook權限。試試這個:
function pushImageToFacebook($url_of_image , $fb_user_id , $fb_access_token)
{
// Creates a new image file in the local directory and gets
// ...a file handle for it. MAKE SURE that you are able to
// ...write to and read from the local directory or this
// ...will fail due to permissions.
$fh = fopen($filename = 'image' . microtime() , 'w');
// Writes the image data to the local file
fwrite($fh , file_get_contents($url_of_image));
// Closes the file handle
fclose($fh);
// Sets the message argument
$args = array('message' => 'Photo Uploaded Using cURL');
// Sets the filename argument
$args[basename($filename)] = '@' . realpath($filename);
// Initializes a cURL session and gets a cURL handle
$ch = curl_init();
// This is your Facebook Graph API URL
$url = "https://graph.facebook.com/{$fb_user_id}/photos?access_token={$fb_access_token}";
// Set all of your cURL session options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
// Fire the cURL and grab the return data (Facebook image ID)
$buffer = curl_exec($ch);
// OPTIONAL : Display the Facebook image ID
print_r(json_decode($buffer , true));
return;
}
謝謝,實際上我執行了一個類似的過程,但客戶(可口可樂,我認爲是安全考慮)有一個非常複雜的服務器進程來編寫文件,我需要找到任何方式上傳該照片無需下載。 (如果還有其他方法!:() – MrSanders
您應該推送到Facebook上的圖像已經在客戶的服務器上,或者您正在設置某些內容,以便將來的圖像將推送到Facebook?無法訪問圖像,這是不可能的,有或沒有Graph API的他們到Facebook上,你能提供關於工作流程的更多細節嗎?你的代碼將駐留在哪裏?在與服務器上的圖像相同? –
圖像在主服務器之外,我知道這些照片需要放在與api上傳相同的服務器上,而我做了這些,但客戶不讓我在同一臺服務器上下載照片,然後我試圖找到其他方式上傳不要下載他們的照片,但它似乎是不可能的。Facebook不允許通過URL上傳照片。 工作流:服務器(其中駐留FB api鍵) - >請求從外部服務器下載照片(在此st ep客戶說,你不需要找出另一種方式) - >一旦下載它們 - > Facebook上傳(服務器駐留FB api)。 – MrSanders
你確信顧客不會認爲你將發佈一個鏈接到他們的服務器,以FB上存在的,這樣每個視圖將產生在他們的網站流量的照片。如果圖像有沒有知識產權的關注,那麼我認爲他們擔心其他外部方將跟蹤到他們的內部服務器的URL ..
或者,讓客戶通過電子郵件發送照片,然後用cron腳本輪詢INBOX,然後從郵箱下載並在收到時上傳到FB。您需要解決安全問題,例如找到電子郵件地址併發送不應該放在FB上的照片的人。
- 1. 服務器上傳照片
- 2. 照片上傳通過WCF服務
- 3. 如何通過圖形API將照片上傳到Facebook
- 4. Facebook圖形API上傳照片問題
- 5. 在Android上通過php將照片上傳到Ubuntu服務器
- 6. 如何標記好友在Facebook上的照片上傳通過圖形API一個照片
- 7. 如何通過圖形API將照片提交給Facebook後獲取照片ID?
- 8. Facebook - 如何通過URL上傳照片?
- 9. 照片上傳到服務器
- 10. Android-將照片上傳到服務器
- 11. iOS照片上傳到服務器
- 12. 從服務器上傳照片到Facebook
- 13. 使用Android通過JSON上傳照片到服務器
- 14. 上傳圖片/照片從iPhone到網絡服務器(ASP.net)
- 15. Facebook圖形API照片
- 16. 無形式上傳照片(API)
- 17. 如何將Android圖庫中的照片上傳到服務器?
- 18. 上傳照片Facebook api EVERYONE
- 19. flickr node.js api上傳照片
- 20. Facebook API照片上傳imagepng
- 21. Instagram API照片上傳
- 22. iOS,拍攝照片,但將照片框在橢圓形上
- 23. 上傳照片
- 24. 如何使用圖形API將照片上傳到相冊
- 25. 如何使用圖形api將照片上傳到相冊
- 26. 如何在通過iOS Swift照片框架保存照片時命名照片
- 27. Heroku照片存儲在服務器上
- 28. 從Google照片上傳多張照片
- 29. 我可以通過android的照片庫與鈦加速器上傳照片到服務器?
- 30. 如何通過.NET中的GData API將照片上傳到Picasa?
您需要首先將這些照片下載到您的服務器,然後上傳它們。 – jlb
我明白@jlb,但客戶無法給我訪問權限。 – MrSanders
@MrSanders我在下面張貼我的答案後閱讀您的評論。您無法通過HTTP(瀏覽器)或FTP/SCP訪問圖像? –