我开始使用php sdk,并努力理解一些事情(我在下面有一个基本的例子 - 但每次图片都会转到我的墙而不是粉丝页面)
代码:
require_once("facebook.php"); // set the right path
$config = array();
$config['appId'] = 'app id';
$config['secret'] = 'app secret';
$config['fileUpload'] = true; // optional
$fb = new Facebook($config);
$params = array(
// this is the access token for Fan Page
"access_token" => "I create this via the graph api (select App and click get token), I select publish stream and photo_upload permissions.",
"message" => "test message",
"source" => "@" ."photo.png", // "@" .
);
try {
// **** is Facebook id of Fan page
$ret = $fb->api('/****/photos', 'POST', $params);
echo 'Photo successfully uploaded to Facebook Album';
} catch(Exception $e) {
echo $e->getMessage();
}
图片一直在我的墙上(登录用户)而不是粉丝页面,是因为我为当前登录的用户(我)而不是粉丝页面获取了一个令牌?如果是这样,我如何以开发人员身份登录时为粉丝页面生成令牌? (是通过将粉丝页面ID放入Get栏吗?)
为noob问题道歉,但facebook文档很糟糕(直到你理解了核心功能)。一旦你知道如何使用图形API,大多数教程都可以工作 - 实际上没有看到EXPLAIN如何使用图形生成正确的标记等。
答案 0 :(得分:1)
\POST /<ID>/photos
- 这只会在<ID>
的墙上发布,因此请仔细检查您正在使用的<ID>
。
访问令牌将描述代表谁将照片张贴在<ID>
的墙上。如果您使用用户访问令牌,则会代表用户发布照片,如果使用页面访问令牌,则会代表页面自行发布。
您可以通过 -
获取网页的网页访问令牌\GET /me/accounts?fields=access_token
(需要许可:manage_pages
)