Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法作为应用程序发布到页面_Php_Facebook Php Sdk - Fatal编程技术网

Php 无法作为应用程序发布到页面

Php 无法作为应用程序发布到页面,php,facebook-php-sdk,Php,Facebook Php Sdk,Facebooks文档是不完整的,充其量也是混乱的 我已经创建了一个应用程序,我已经为我的业务创建了一个页面。我想使用PHPSDK将我网站上的更新发布为我的应用程序 我把它与其他页面/网站完美地结合在一起,但似乎没有任何东西能再发挥作用了 我需要离线访问,因此我按照他们文档中的建议使用了新端点 获取有效期较长的访问令牌的顺序: https://www.facebook.com/dialog/oauth?client_id={my_app_id}&redirect_uri=http://m

Facebooks文档是不完整的,充其量也是混乱的

我已经创建了一个应用程序,我已经为我的业务创建了一个页面。我想使用PHPSDK将我网站上的更新发布为我的应用程序

我把它与其他页面/网站完美地结合在一起,但似乎没有任何东西能再发挥作用了

我需要离线访问,因此我按照他们文档中的建议使用了新端点

获取有效期较长的访问令牌的顺序:

https://www.facebook.com/dialog/oauth?client_id={my_app_id}&redirect_uri=http://my_url.redirect/fb/fb_token.php&scope=publish_stream,offline_access,user_status,read_stream,email,user_groups,manage_pages&response_type=token
已返回[TOKEN_1]

https://graph.facebook.com/oauth/access_token?client_id={my_app_id}&client_secret={my_app_secret}&grant_type=fb_exchange_token&fb_exchange_token=[TOKEN_1]
返回[访问令牌]

https://graph.facebook.com/me/accounts?access_token=[ACCESS_TOKEN]
返回我的页面和应用及其相关ID和访问代码的列表。这是我最终获得[最终访问令牌]&&&[页面ID]的地方

$facebook = new Facebook(array(
    'appId'  => {my_app_id},
    'secret' => {my_app_secret},
    'cookie' => false,
    'oauth'  => true
));

try {
    $attachment =  array(
        'access_token'  => [DEFINITIVE_ACCESS_TOKEN],
        'message'       => {my_message},
        'name'          => {my_title},
        'link'          => {my_url},
        'description'   => {my_description},
        'picture'       => {my_image_url},
     );
     $publishStream = $facebook->api('/[PAGE_ID]/feed', 'POST', $attachment);
 } catch (FacebookApiException $e) {
    die($e);
 }
这返回了一条错误消息“OAutheException:(#200)当参与者是一个页面时,POST也不能包含目标id”

我哪里做错了?有没有一个教程可以让它在任何地方都完美地工作,或者我们都应该是读心术的人,猜猜应该怎么做


提前感谢您的帮助。

我注意到您正在使用脱机访问

自2012年5月1日起,离线访问将不再可用

看到这个了吗

请确保您已对此进行了处理


~K

正如我所说,我正在使用离线访问不推荐页面中建议的新端点。我发现了问题所在,但是,我将[PAGE_ID]作为int而不是字符串传递(愚蠢的我)。现在一切正常。