目前,我有一个网站,允许用户上传图片,同时我希望所有这些上传的图片都能自动发布到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吗?
2条答案
按热度按时间eh57zj3b1#
在这种情况下,应用程序并不是指游戏之类的东西,而是指API应用程序。这对于使用OAuth验证用户身份的API来说很常见。您可以为自己的帐户创建一个应用程序,它允许您使用自己的用户帐户作为访问该应用程序的用户访问Facebook API。
下面的帖子解释了整个事情,甚至有关于facebook API如何工作的信息https://stormpath.com/blog/what-the-heck-is-oauth
mqxuamgl2#
在此处粘贴页面https://developers.facebook.com/tools/debug/accesstoken/的访问令牌,然后单击“调试”。页面加载后,您将看到一个蓝色按钮,用于生成“长期用户访问令牌”