我已经讨论了所有相关主题,但无法找到答案:
是否可以将应用程序照片仅存储在自己的页面相册中?
请注意,每个用户都应将照片上传到同一个相册。
我已经看到应用程序可以在用户/页面配置文件中创建相册,但将所有内容存储在一个位置会更好。
我收到以下错误:
未捕获OAuthException:(#120)无效的专辑ID(base_facebook.php第1038行)
代码:
public function setPageToken($userId = 'MY_USER_ID',
$pageId = 'APP_PAGE_ID')
{
// get logged in all page
$args = array
(
'fileds' => 'id,access_token',
'scope' => 'manage_pages,publish_stream'
);
$accounts = $this->api('/'.$userId.'/accounts','get',$args);
// fetch the desired page access token
foreach($accounts['data'] as $k => $v)
{
if($v['id'] == $pageId)
{
$token = $v['access_token'];
break;
}
}
return $token;
}
注意:
答案 0 :(得分:0)
理论上,这就是你需要做的事情:
access token
。注意,从理论上讲,这不需要授权正在上传照片的用户。但是,如果问题是您是否可以代表用户将照片上传到第三方页面 - 您不能。
此外,请注意,如果您使用的是Facebook PHP SDK,则默认的访问令牌将是当前活动会话(用户)的默认值。因此,您需要手动将其更改为页面访问令牌或发出cURL请求。
$ch = curl_init();
$url = "https://graph.facebook.com/" . $album_id . "/photos?access_token=" . $access_token;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$retdata = curl_exec($ch);
echo($retdata);