[英]Share link in facebook with php-sdk
我正在嘗試與php-sdk共享Facebook上的鏈接。 使用https://developers.facebook.com/tools/explorer中的 Graph API Explorer並選擇我創建的應用程序和頁面的管理員用戶,它為我提供了訪問令牌並可以完美地共享鏈接,但是可以通過代碼使用相同的令牌,我總是會收到錯誤
圖表返回了錯誤:無效的OAuth訪問令牌。
我知道這是身份驗證錯誤,但是,避免身份驗證不是使用令牌的目的嗎?如果不是,則如何記錄管理用戶的任務,以及為什么在https://developers.facebook中未提及。 com / docs / php / howto / example_post_links / 5.0.0 。想法是與用戶頁面管理員(而不是與登錄我網站的用戶)共享鏈接。 這是代碼。
public function shareOnFacebook($link)
{
$pageId = "XXXXXXXXXXX";
$accessToken = "YYYYYYYYYYYYYY";
$appId = "ZZZZZZZZZZZ";
$appSecret = "SSSSSSSSSSSSS";
$fb = new Facebook([
'app_id' => '{'.$appId.'}',
'app_secret' => '{'.$appSecret.'}',
'default_graph_version' => 'v2.2',
]);
$linkData = [
'link' => 'http://www.example.com',
'message' => 'User provided message',
];
try {
$response = $fb->post('/'.$pageId.'/feed', $linkData, '{'.$accessToken.'}');
} catch(FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
}
您應該使用訪問令牌替換整個字段:
$response = $fb->post('/'.$pageId.'/feed', $linkData, '{'.$accessToken.'}');
應該
$response = $fb->post('/'.$pageId.'/feed', $linkData, $accessToken);
我想將訪問令牌添加到$linkData
應該也可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.