如何通过CURL将图片发布到Facebook页面的相册中,沿着获得新的页面访问令牌?

jtjikinw  于 2022-11-13  发布在  其他
关注(0)|答案(2)|浏览(152)

目前,我有一个网站,允许用户上传图片,同时我希望所有这些上传的图片都能自动发布到Facebook页面的相册。我使用了下面的CURL代码:

$args = array(
       'message' => $imageDescription,
        'access_token'=>$accesstoken,
        'url' => $img
    );

    $ch = curl_init();
    $url = 'https://graph.facebook.com/' . $albumid . '/photos';
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);

    $data = curl_exec($ch);

    $response = json_decode($data,true);

从我的测试来看,这段代码可以工作,但只能工作一个小时,因为我使用的是从Graph API生成的访问令牌https://developers.facebook.com/docs/pages/access-tokens#expire。
我一直在查看Stack Overflow,大多数问题和答案都提到使用应用ID和应用密钥生成新令牌,但这是一个页面,而不是一个应用。没有应用ID和应用密钥,所以我卡住了。
那么在这种情况下,我能做些什么呢?或者在这种情况下不能使用CURL吗?

eh57zj3b

eh57zj3b1#

在这种情况下,应用程序并不是指游戏之类的东西,而是指API应用程序。这对于使用OAuth验证用户身份的API来说很常见。您可以为自己的帐户创建一个应用程序,它允许您使用自己的用户帐户作为访问该应用程序的用户访问Facebook API。
下面的帖子解释了整个事情,甚至有关于facebook API如何工作的信息https://stormpath.com/blog/what-the-heck-is-oauth

mqxuamgl

mqxuamgl2#

在此处粘贴页面https://developers.facebook.com/tools/debug/accesstoken/的访问令牌,然后单击“调试”。页面加载后,您将看到一个蓝色按钮,用于生成“长期用户访问令牌”

相关问题