我在这里使用这个脚本作为我的Facebook App 它会在用户的Facebook个人资料中上传照片,并为该照片创建新的相册。
该脚本将“ [APP NAME] 照片”作为相册名称/标题(不带引号)返回。
- [APP NAME] 是我的Facebook APP的名称 -
基本上,我不想要专辑标题。我想在剧本上指定专辑标题 我想要的是:
这是脚本 -
$root_url = "http://www.WEBSITE.COM/";
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
// Get image from URL
$img = $_GET['i'];
// Change location depending on which type of cover
if($get_set != 1) {
$photo = './PATH/'.$img.''; // Path to the photo on the local filesystem
} else {
$photo = './PATH/'.$img.'';
}
$message = 'THIS IS THE PHOTO CAPTION';
if($user_id) {
// We have a user ID, so probably a logged in user.
// If not, we'll get an exception, which we handle below.
try {
// Upload to a user's profile. The photo will be in the
// first album in the profile. You can also upload to
// a specific album by using /ALBUM_ID as the path
$ret_obj = $facebook->api('/me/photos', 'POST', array(
'source' => '@' . $photo,
'message' => $message,
)
);
// echo '<pre>Photo ID: ' . $ret_obj['id'] . '</pre>';
print "<script>window.location = '".$root_url."index.php?cover=uploaded'</script>";
} catch(FacebookApiException $e) {
// If the user is logged out, you can have a
// user ID even though the access token is invalid.
// In this case, we'll get an exception, so we'll
// just ask the user to login again here.
$login_url = $facebook->getLoginUrl( array(
'scope' => 'photo_upload'
));
echo '<script> window.location = "' . $login_url . '"; </script>';
error_log($e->getType());
error_log($e->getMessage());
}
echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>';
} else {
// No user, print a link for the user to login
// To upload a photo to a user's wall, we need photo_upload permission
// We'll use the current URL as the redirect_uri, so we don't
// need to specify it here.
$login_url = $facebook->getLoginUrl( array( 'scope' => 'photo_upload') );
echo '<script> window.location = "' . $login_url . '"; </script>';
//echo 'Please <a href="' . $login_url . '">login</a> to continue.';
}
看到这个 here ,我相信这是可能的。
$album_name = 'YOUR_ALBUM_NAME';
$album_description = 'YOUR_ALBUM_DESCRIPTION';
我只是不知道如何在那里工作......
期待解决方案。谢谢你的时间!
答案 0 :(得分:1)
正如Photo object:
的文档中所述您可以通过向照片发出HTTP POST请求来上传照片 内容和对Graph API的可选描述 连接:
https://graph.facebook.com/USER_ID/photos - 照片将发布到为您的应用创建的相册中。我们自动创建一个 适用于您应用的相册(如果尚不存在)。所有照片上传 这种方式将被添加到同一张专辑中。
https://graph.facebook.com/ALBUM_ID/photos - 照片将发布到特定的现有相册,由相应的 ALBUM_ID。普通相册的大小限制为200张照片。默认 应用相册的大小限制为1000张照片。
您目前正在使用第一个选项,使用第二个选项要求您拥有首先需要创建的相册ID:
您可以通过向其发出HTTP POST请求来为用户创建相册 具有publish_stream权限的PROFILE_ID /专辑 以下参数
(Albums connection of the User object)
问题在于,当用户需要再次上传到相册时,您必须保存此相册ID以供用户使用。