2017-07-04 57 views
1

目前,我有一個網站,允許用戶上傳圖片,並在同一時間,我想所有這些上傳的圖片被自動發佈到Facebook頁面的專輯。我用低於這個捲曲代碼:如何發佈通過CURL一個Facebook頁面的相冊中的圖片以獲得新的頁面訪問令牌一起?

$args = array(
     'message' => $imageDescription, 
     'access_token'=>$accesstoken, 
     'url' => $img 
    ); 

    $ch = curl_init(); 
    $url = 'https://graph.facebook.com/' . $albumid . '/photos'; 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); 
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); 
    curl_setopt($ch, CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $args); 
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 

    $data = curl_exec($ch); 

    $response = json_decode($data,true); 

從我的測試,此代碼的工作,但只有一個小時,因爲我用從圖形API生成的訪問令牌。該過期在https://developers.facebook.com/docs/pages/access-tokens#expire中提及。

我已經在堆棧溢出環顧四周,和大多數的問題和答案提到使用應用程序ID和應用程序的祕密生成一個新的令牌,但這是一個頁面,而不是一個應用程序。沒有應用程序ID和應用程序的祕密,所以我卡住了。

所以在這種情況下,我該怎麼辦?或者在這種情況下不可能使用CURL?

回答

2

在這種情況下的應用程序並不是指像一個遊戲,它指的是一個API的應用程序。對於使用OAuth對用戶進行身份驗證的API,這是很常見的。您創建帳戶的應用程序,它允許您使用您的用戶帳戶作爲用戶訪問它來訪問Facebook的API。

下面的文章解釋了整個事情,甚至有關於Facebook的API是如何工作的https://stormpath.com/blog/what-the-heck-is-oauth

+1

獲得API的應用程序後的信息,請參閱https://stackoverflow.com/questions/17197970/facebook-permanent-page-訪問令牌來獲得「永不過期」的令牌,一切都適用於我。 – Karl

相關問題