[英]Uploading photos to a Facebook Page as the Page itself, programmatically in PHP
我在查找如何以编程方式将照片发布到Facebook页面时遇到了一些麻烦。 我已经阅读了关于认证为页面的Facebook文档 ,但所有示例都涉及Facebook用户 。 到目前为止,我刚刚使用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']
使用范围manage_pages
, publish_stream
, photo_upload
和offline_access
(3)从Graph API资源管理器生成
$config['facebook_pageId']
是页面的ID(我也使用Graph API Explorer找到 ) $data
包含图像的ID和墙贴(?) 将非常感谢代码示例或简要文档和/或教程的链接,最好是示例。
这三个答案是:
让作为该页面管理员的用户授予您的应用manage_pages
权限
如果您使用此客户端(即Javascript SDK),则需要使用https://developers.facebook.com/roadmap/offline-access-removal/上的 方案4的说明扩展其访问令牌。
检索access_token
通过的呼吁页/me/permissions
或通话/[PAGE_ID]/?fields=access_token
。 如果您在检索页面访问令牌之前扩展了页面管理员的access_token,则页面访问令牌将不会过期,除非用户不再是该页面的管理员或更改其密码,撤消对该应用程序的权限等(上述文档中的方案5) )
使用该访问令牌将照片上传到页面的墙上。
我认为这些步骤大部分都在这里阐明: https : //developers.facebook.com/docs/authentication/pages/ (以页面登录)或者在此页面文档中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.