0
FacebookのPHP SDK v5を使用して、私が管理しているページに投稿しています。以下のコードは、ページへのリンクを投稿する際に効果的です。私はそれがエラーを返す続けるの投稿を削除するには、このコードを変更しようとすると、しかし、:PHP SDK v5を使用してFacebookページから投稿を削除する方法
Graph returned a page request error: Unknown path components: /xxxxxxx_xxxxxxxxx
xxxxxxx_xxxxxxxxxは私が調整する方法を見つけ出すことはできません私は
を削除しようとしているpostIDです私の作業コードは、それらを公開する代わりに投稿を削除する。誰もこの仕事をする方法を知っていますか?
<?php
function facebook(){
include_once $_SERVER['DOCUMENT_ROOT']."/Facebook/autoload.php";
$permissions = ['manage_pages', 'publish_pages'];
$callback = "https://www.my-domain.com/my-callback-url.html?fb=redirect";
$pageID = 'xxxxxxxxxxxx';
$linkToPost = 'https://www.test-post.com';
$fb = new Facebook\Facebook([
'app_id' => 'xxxxxxxxxxx',
'app_secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
'default_graph_version' => 'v2.10',
]);
$helper = $fb->getRedirectLoginHelper();
try {
if (isset($_SESSION['facebook_access_token'])) {
$accessToken = $_SESSION['facebook_access_token'];
} else {
$accessToken = $helper->getAccessToken();
}
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
$res['error'] = 'Error: Graph returned a session error: ' . $e->getMessage();
return $res;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
$res['error'] = 'Error: Facebook SDK returned a session error: ' . $e->getMessage();
return $res;
}
if (isset($accessToken)) {
if (isset($_SESSION['facebook_access_token'])) {
$fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
} else {
// getting short-lived access token
$_SESSION['facebook_access_token'] = (string) $accessToken;
// OAuth 2.0 client handler
$oAuth2Client = $fb->getOAuth2Client();
// Exchanges a short-lived access token for a long-lived one
$longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']);
$_SESSION['facebook_access_token'] = (string) $longLivedAccessToken;
// setting default access token to be used in script
$fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
}
// getting basic info about user
try {
$profile_request = $fb->get('/me');
$profile = $profile_request->getGraphNode();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
$res['error'] = 'Error: Graph returned a profile request error: ' . $e->getMessage();
session_destroy();
return $res;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
$res['error'] = 'Error: Facebook SDK returned a profile request error: ' . $e->getMessage();
return $res;
}
$response = $fb->get('/me/accounts', (string) $accessToken);
foreach ($response->getDecodedBody() as $allPages) {
foreach ($allPages as $page) {
if (isset($page['id']) && (string)$page['id'] == $pageID) {
$pageAccessToken = (string) $page['access_token'];
break;
}
}
}
try{
$post = $fb->post('/'.$pageID.'/feed', array('link' => $linkToPost), $pageAccessToken);
$post = $post->getGraphNode()->asArray();
$res['success'] = "Successfully Posted To Facebook. The ID of this post is: ".$post['id'];
return $res;
}catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
$res['error'] = 'Error: Graph returned a page request error: ' . $e->getMessage();
session_destroy();
return $res;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
$res['error'] = 'Error: Facebook SDK returned a page request error: ' . $e->getMessage();
return $res;
}
}else{
$loginUrl = $helper->getLoginUrl($callback, $permissions);
$res['login'] = $loginUrl;
return $res;
}
}
?>
投稿を削除するには、上記の作業コードを修正での私の試み:ページへの投稿を公開するためのコードを作業する
。動作していない:
基本的に私は変更:
へ:
$post = $fb->delete('/'.$pageID.'/feed/'.$postIDtoDelete ,array(), $pageAccessToken);
コード:
<?php
function facebook(){
include_once $_SERVER['DOCUMENT_ROOT']."/Facebook/autoload.php";
$permissions = ['manage_pages', 'publish_pages'];
$callback = "https://www.my-domain.com/my-callback-url.html?fb=redirect";
$pageID = 'xxxxxxxxxxxx';
$postIDtoDelete = 'xxxxxxx_xxxxxxxxx';
$linkToPost = 'https://www.test-post.com';
$fb = new Facebook\Facebook([
'app_id' => 'xxxxxxxxxxx',
'app_secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
'default_graph_version' => 'v2.10',
]);
$helper = $fb->getRedirectLoginHelper();
try {
if (isset($_SESSION['facebook_access_token'])) {
$accessToken = $_SESSION['facebook_access_token'];
} else {
$accessToken = $helper->getAccessToken();
}
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
$res['error'] = 'Error: Graph returned a session error: ' . $e->getMessage();
return $res;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
$res['error'] = 'Error: Facebook SDK returned a session error: ' . $e->getMessage();
return $res;
}
if (isset($accessToken)) {
if (isset($_SESSION['facebook_access_token'])) {
$fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
} else {
// getting short-lived access token
$_SESSION['facebook_access_token'] = (string) $accessToken;
// OAuth 2.0 client handler
$oAuth2Client = $fb->getOAuth2Client();
// Exchanges a short-lived access token for a long-lived one
$longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']);
$_SESSION['facebook_access_token'] = (string) $longLivedAccessToken;
// setting default access token to be used in script
$fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
}
// getting basic info about user
try {
$profile_request = $fb->get('/me');
$profile = $profile_request->getGraphNode();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
$res['error'] = 'Error: Graph returned a profile request error: ' . $e->getMessage();
session_destroy();
return $res;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
$res['error'] = 'Error: Facebook SDK returned a profile request error: ' . $e->getMessage();
return $res;
}
$response = $fb->get('/me/accounts', (string) $accessToken);
foreach ($response->getDecodedBody() as $allPages) {
foreach ($allPages as $page) {
if (isset($page['id']) && (string)$page['id'] == $pageID) {
$pageAccessToken = (string) $page['access_token'];
break;
}
}
}
try{
$post = $fb->delete('/'.$pageID.'/feed/'.$postIDtoDelete ,array(), $pageAccessToken);
$res['success'] = "Successfully Deleted Posted From Facebook. Response is:".$post;
return $res;
}catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
$res['error'] = 'Error: Graph returned a page request error: ' . $e->getMessage();
session_destroy();
return $res;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
$res['error'] = 'Error: Facebook SDK returned a page request error: ' . $e->getMessage();
return $res;
}
}else{
$loginUrl = $helper->getLoginUrl($callback, $permissions);
$res['login'] = $loginUrl;
return $res;
}
}
?>