我正在尝试为客户端提供Facebook图库,并且由于托管该网站的服务器,该请求需要进行身份验证。
我使用我们公司的Facebook开发者帐户设置了一个应用程序。虽然我已将应用程序的域设置为我们客户端的域,但请求中返回的库是空的。
我假设我需要访问客户的Facebook帐户,这样我就可以创建一个直接与他们的Facebook帐户相关联的应用程序 - 我想要的画廊来自哪个?编辑 - 只是想我会指出客户不愿意为他们的Facebook帐户提供他们的密码......
以下是我使用的验证码,如果有人愿意指出我可能犯过的任何男生错误。
$no_albums = 6;
$latest_albums = null;
$user_id = "xxxxxx";
$app_secret = "xxxxxxxxxxxxxxxxxxxx";
$app_token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $user_id
. "&client_secret=" . $app_secret
. "&grant_type=client_credentials"
. "&scope=user_photos";
$response = wp_remote_get($app_token_url);
$access_token = $response['body'];
error_log(print_r($response,true));
$query = 'https://graph.facebook.com/'.$user_id.'/albums?' . $access_token;
$albums = json_decode(file_get_contents('http://graph.facebook.com/'.$user_id.'/albums') );
这是我在错误日志中得到的回复($ albums):
Array
(
[headers] => Array
(
[access-control-allow-origin] => *
[cache-control] => private, no-cache, no-store, must-revalidate
[content-type] => application/json; charset=UTF-8
[etag] => "1050253aec7b29caff644806927dabfa81406eee"
[expires] => Sat, 01 Jan 2000 00:00:00 GMT
[pragma] => no-cache
[x-fb-rev] => 812093
[x-fb-debug] => 9I0lRzV3GZxrflP/19iBvhly6FLUVI9jCHJAXcw0Dm0=
[date] => Mon, 13 May 2013 10:45:39 GMT
[connection] => close
[content-length] => 11
)
[body] => {"data":[]}
[response] => Array
(
[code] => 200
[message] => OK
)
[cookies] => Array
(
)
[filename] =>
感谢。
答案 0 :(得分:0)
你在这里遇到了几个基本问题。
首先,在您的API请求中,您正在查找与您的APP_ID
相关联的相册。没有了。您应该在图API的请求中使用客户端PAGE_ID
或USER_ID
。
其次,您应该使用Facebook PHP SDK代替file_get_contents()
来提出请求。特别是如果这是一个生产环境。
如果您的客户相册是公开可见的,则可能无需验证用户是否可以查看这些相册。要确定这一点,您需要分享您客户的Facebook用户名。