我希望用戶通過網站上的窗體張貼在Facebook頁面上的圖像。 當他們在本網站上通過Facebook登錄後,他們可以從他們的電腦中選擇一張圖片。Facebook的:張貼圖像和描述到牆上和頁面相冊通過PHP
一旦他們選擇的圖像,我希望它被張貼到用戶的牆,在我的管理員之一的頁面的專輯。
我創造了這個應用程序,但我們似乎無法找到一種方式來獲得應用程序發佈此的Facebook頁面上。
我們是否需要在此頁面或應用上設置任何權限?
我希望用戶通過網站上的窗體張貼在Facebook頁面上的圖像。 當他們在本網站上通過Facebook登錄後,他們可以從他們的電腦中選擇一張圖片。Facebook的:張貼圖像和描述到牆上和頁面相冊通過PHP
一旦他們選擇的圖像,我希望它被張貼到用戶的牆,在我的管理員之一的頁面的專輯。
我創造了這個應用程序,但我們似乎無法找到一種方式來獲得應用程序發佈此的Facebook頁面上。
我們是否需要在此頁面或應用上設置任何權限?
上傳圖片到Facebook的網頁,其中的你,你需要做以下的管理:
1)創建一個Facebook應用程序(通常的方式),請確保您指定的URL帆布
2)導航到下面的網址登錄的頁面管理,並給予權限(user_photos,manage_pages,offline_access,publish_stream)
https://www.facebook.com/dialog/oauth?
client_id=<application_id>
&redirect_uri=<canvas_url>
&response_type=token
&scope=user_photos,manage_pages,offline_access,publish_stream
3)當您將所需的應用您將被重定向到canvas_url的權限#的access_token = * *的access_token,例如
http://example.com/#access_token=awe12
4.)然後,導航到
https://graph.facebook.com/me/accounts?access_token=<access_token>
(使用從#3中的接入令牌)。這將列出您管理的頁面;寫下對的access_token頁面(縣)要上傳的圖片
我不是100%肯定,但我認爲,使用圖形API,你可以上傳圖片只能通過圖形API創建的相冊;即您需要先通過圖形api創建一個相冊。下面是示例代碼使用curl:
$uri = sprintf(
'https://graph.facebook.com/%1$s/albums?access_token=%2$s',
$page_id,
$access_token
);
$post_fields = array(
'name' => trim($album_name)
);
$curl = curl_init($uri);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_fields);
$raw_data = curl_exec($curl);
curl_close($curl);
$data = json_decode($raw_data, $assoc = TRUE);
的$data
上面會包含相冊ID,你需要上傳一張照片:
// prepare the curl post fields
$batch = sprintf(
'[{"method":"POST", "relative_url":"%1$s/photos", "attached_files":"file1"}]',
$album_id
);
$post_fields = array(
'batch' => $batch,
'access_token' => $access_token,
'file1' => '@' . $image_abs_path
);
$uri = 'https://graph.facebook.com';
$curl = curl_init($uri);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_fields);
$raw_data = curl_exec($curl);
curl_close($curl);
$data = json_decode($raw_data, $assoc = TRUE);
輝煌!這個伎倆!非常感謝! – ThoDho 2012-02-22 15:55:38
感謝您昨天的回覆。但我仍然有問題。我總是需要手動生成頁面的訪問令牌。有沒有辦法獲得這個頁面的訪問令牌不會過期? – ThoDho 2012-02-23 16:35:22
如果您在步驟2中添加了'offline_access')訪問令牌不應該過期 – scibuff 2012-02-23 17:24:34