0
我寫了一段代碼,將視頻上傳到我的Facebook粉絲頁面,但它會上傳到我的粉絲頁面社區。使用API上傳到Facebook粉絲頁面
有人可以幫助我,我的代碼有什麼問題?
我的代碼:
$appId = 'xxxxxxxxxxx';
$appSecret ='xxxxxxxxxx';
$my_url = ':my website url';
$perms_str = "publish_actions";
$videoPath = 'xxxxxxxxxx';
$title = 'xxxxxxxxxx';
$descriptions = 'xxxxxxxxxxx';
if (!isset($_GET['code'])) {
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $appId . "&redirect_uri=" . urlencode($my_url)
. "&scope=" . $perms_str;
echo("<script>top.location.href='" . $auth_url . "'</script>");
} else {
$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
. $appId . "&redirect_uri=" . $my_url
. "&client_secret=" . $appSecret
. "&code=" . $_GET['code'];
$response = file_get_contents($token_url);
$access_token = Json::decode($response)['access_token'];
$fb = new Facebook([
'app_id' => $appId,
'app_secret' => $appSecret,
'default_graph_version' => 'v2.10',
]);
$pageId = 'xxxxxxxxxxxx';
$fileToUpload = $videoPath ;
$whereUpload = '/'.$pageId.'/videos';
$data = [
'title' => $_SESSION['fileToUpload']['title'],
'caption' => $_SESSION['fileToUpload']['descriptions'],
'source' => $fb->fileToUpload($fileToUpload)
];
}
try {
$response = $fb->post($whereUpload, $data, $access_token);
} catch (Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch (Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
你沒有使用一個頁面訪問令牌... – CBroe
究竟在何處,我做它實際上 $ access_token = Json :: decode($ response)['access_token']; – vm30
這是從登錄流程返回的代碼參數中檢索_user_訪問令牌的端點。如果您想以頁面名稱執行任何操作,則需要使用_page_訪問令牌。 https://developers.facebook.com/docs/facebook-login/access-tokens/ – CBroe