【发布时间】:2012-06-18 13:45:19
【问题描述】:
背景
我在找出如何以编程方式将照片发布到 Facebook Page 时遇到了一些麻烦。我已经阅读了Facebook Documentation on Authenticating as a Page,但all the examples involve Facebook Users。到目前为止,我刚刚使用 Facebook 的 Graph API Explorer 手动生成了所需的访问令牌。 (3)
我尝试过的
使用这个简单的代码,我成功上传了图片,但是它被张贴在我的自己的墙上,在我的自己的相册中,在我的自己的 名称,而不是 Facebook 主页 上的 Facebook 主页 相册中 Facebook 主页 名称下的名称。我需要将其作为 Facebook 页面 本身发布在特定的 Facebook 页面 上。 (1)
<?php
require 'facebook-php-sdk/src/facebook.php';
require 'config.php';
$facebook = new Facebook(array(
'appId' => $config['facebook_appId'],
'secret' => $config['facebook_appSecret'],
'fileUpload' => true
));
$facebook->setAccessToken($config['facebook_pageAccessToken']);
$args = array(
'message' => 'Facebook API test',
'source' => '@'.realpath(__DIR__.'/404.jpg')
);
$data = $facebook->api('/'.$config['facebook_pageId'].'/photos', 'post', $args);
关于代码
-
$config['facebook_appId']来自我创建的一个虚拟测试应用 -
$config['facebook_appSecret']来自我创建的一个虚拟测试应用 -
$config['facebook_pageAccessToken']是从 Graph API Explorer 生成的,使用范围manage_pages、publish_stream、photo_upload和offline_access(3)- 作为对潜在未来访问者的附注,事实证明我生成了一个用户访问令牌而不是页面访问令牌,这就是它被张贴在我自己的墙上,在我自己的相册中的原因。
-
$config['facebook_pageId']是页面的 ID(我也使用 Graph API Explorer 找到) - 成功完成后,
$data包含图像的 ID 和墙上的帖子(?)似乎
问题总结
- 如何将照片作为 Facebook 主页本身发布到 Facebook 主页?
- 这适用于开发人员来来往往的项目。有没有办法让我拥有一个独立于特定 Facebook 用户的 不可变 页面访问令牌 OR 依赖于(虚拟)Facebook 应用 OR以某种方式即时生成一个?
- 我如何(如果需要)作为 Facebook 主页进行身份验证 - 以 PHP 编程方式给我一个主页访问令牌?
代码示例或指向简洁文档和/或教程的链接(最好带有示例)将不胜感激。
【问题讨论】:
标签: php facebook facebook-graph-api facebook-php-sdk image-uploading