您好我正在尝试从特定相册中获取所有照片(始终使用相同的硬编码ID)。 我正在使用Facebook的Graph API PHP SDK。这是我的代码:
<?php
require 'phpfiles/facebook.php';
$facebook = new Facebook(array(
'appId' => 'aaaa',
'secret' => 'bbbb',
'cookie' => true
));
$user_profile = $facebook->api('/1881235503185/photos?access_token=cccc');
var_dump($user_profile);
var_dump输出:
array(1) { ["data"]=> array(0) { } }
当我使用Javascript SDK时,它可以正常工作......
FB.api('/1881235503185/photos?access_token=cccc', function(response) {
alert(response.data[0].name);
});
输出:Diep in de put
我忘记了什么吗?
答案 0 :(得分:7)
我明白了!它应该是: <击> 撞击>
<击>$user_profile = $facebook->api('/1881235503185/photos', array('access_token' => 'cccc'));
击> <击> 撞击>
使用新的Facebook PHP SDK应该是:
$albumjson = $facebook->api('/1881235503185?fields=photos');
答案 1 :(得分:3)
<?php
require_once 'library/facebook.php';
try{
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
if(is_null($facebook->getUser()))
{
header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos'))}");
exit;
}
$me = $facebook->api('/me');
}catch(Exception $e){
echo $e->getMessage();
echo '<p>Please try clearing your browser cookies or <a href="http://demos.frnzzz.com/fbAlbum/photos.php">click here</a>.</p>';
die;
}
?>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.slideshow').cycle({
fx: 'fade'
});
});
</script>
<title>WebSPeaks.in | Access facebook Albums on your site using PHP</title>
</head>
<body>
<?php
$albums = $facebook->api('/me/albums');
$action = $_REQUEST['action'];
$album_id = '';
if(isset($action) && $action=='viewalbum'){
$album_id = $_REQUEST['album_id'];
$photos = $facebook->api("/{$album_id}/photos");
?>
<div class="slideshow">
<?php
foreach($photos['data'] as $photo)
{
echo "<img src='{$photo['source']}' />";
}
?>
</div>
<?php
}
$pageURL .= 'http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
echo '<div class="alb">';
if(strstr($pageURL,'.php?')){
$and = '&';
}else{
$and = '?';
}
echo '<p class="hd">My Albums</p>';
foreach($albums['data'] as $album)
{
if($album_id == $album['id']){
$name = '<b><u>'.$album['name'].'</u></b>';
}else{
$name = $album['name'];
}
echo '<p>'."<a href=".$pageURL.$and."action=viewalbum&album_id=".$album['id'].">".$name.'</a></p>';
}
echo '</div>';
?>
</body>
</html>
答案 2 :(得分:2)
我觉得很奇怪,它适用于JS而不是PHP ......让我觉得这与你的PHP FB设置有关。你有没有尝试过另一个电话检查它不是?如
$facebook->api('/me');
另外请确保您已检查过这些:
阅读您需要的“照片”对象
任何有效的access_token,如果它是public user_photos权限 访问用户user_photo_video_tags上传的照片和相册 允许访问用户已被标记的照片 friends_photos访问朋友照片的权限 friends_photo_video_tags允许访问其中的照片 用户的朋友已被标记
的Src: