使用 php-sdk 在 facebook 中分享 link

Share link in facebook with php-sdk

我正在尝试使用 php-sdk 在 Facebook 上分享 link。在 https://developers.facebook.com/tools/explorer 中使用 Graph API Explorer 并选择我创建的应用程序和页面的管理员用户,它为我提供了访问令牌并且可以完美地共享 link,但是从代码出于同样的原因,我总是得到错误

Graph returned an error: Invalid OAuth access token.

我知道这是一个身份验证错误,但是,避免身份验证不是使用令牌的目的?如果不是,如何登录管理员用户来执行任务,为什么 [=15] 中没有提到=] 。想法是与用户页面管理员共享 link,而不是与登录我站点的用户共享。这是代码。

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 应该也可以。