目前,我有一个网站,允许用户上传图像,同时我希望所有这些上传的图像自动发布到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?
答案 0 :(得分:2)
在这种情况下,应用程序不是指游戏之类的东西,而是指API应用程序。这对于使用OAuth对用户进行身份验证的API很常见。您为帐户创建了一个应用程序,它允许您以访问它的用户身份使用您的用户帐户访问Facebook API。
以下文章解释了整个事情,甚至还有关于facebook API如何运作的信息https://stormpath.com/blog/what-the-heck-is-oauth