【问题标题】:How to publish an image to a Facebook Page's albums via CURL along with getting new Page Access Tokens?如何通过 CURL 将图像发布到 Facebook 页面的相册以及获取新的页面访问令牌?
【发布时间】:2017-12-07 18:48:23
【问题描述】:

目前,我有一个允许用户上传图片的网站,同时我希望所有这些上传的图片都能自动发布到 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 上看了一圈,大部分问题和答案都提到了使用 app ID 和 app secret 来生成新令牌,但是 这是一个页面而不是一个应用 .没有应用 ID 和应用秘密,所以我被卡住了。

那么在这种情况下,我该怎么办?还是在这种情况下不能使用 CURL?

【问题讨论】:

    标签: php facebook facebook-graph-api curl facebook-access-token


    【解决方案1】:

    在这种情况下,应用不是指游戏之类的东西,而是指 API 应用。这对于使用 OAuth 对用户进行身份验证的 API 来说很常见。您为您的帐户创建一个应用程序,它允许您使用您的用户帐户作为访问它的用户访问 Facebook API。

    下面的帖子解释了整个事情,甚至还有关于 facebook API 如何工作的信息https://stormpath.com/blog/what-the-heck-is-oauth

    【讨论】:

    猜你喜欢
    • 2012-11-20
    • 2012-08-03
    • 2012-02-13
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    相关资源
    最近更新 更多