Php 自动注释Cron作业不再工作:致命错误:未捕获OAutheException:错误签名
几个月前,我编写了一个小应用程序,可以解析我客户博客页面上的一个字符串,并将其作为评论发布到他们的Facebook墙上,我有资格管理这个页面 客户只需验证我的应用程序一次,然后,通过现在已被取消的“离线访问”权限,我就可以代表他们发布到他们的墙上 无论我使用的是旧的SDK还是最新的SDK,代码都不再有效。我尝试将我的代码(以下)迁移到SDK的最新版本和最新协议,以处理身份验证,但没有成功。我还让客户端使用“manage_pages”(管理页面)范围(我从第一天起就有了)重新验证我的应用程序,没有任何区别 我得到的错误是Php 自动注释Cron作业不再工作:致命错误:未捕获OAutheException:错误签名,php,facebook-access-token,Php,Facebook Access Token,几个月前,我编写了一个小应用程序,可以解析我客户博客页面上的一个字符串,并将其作为评论发布到他们的Facebook墙上,我有资格管理这个页面 客户只需验证我的应用程序一次,然后,通过现在已被取消的“离线访问”权限,我就可以代表他们发布到他们的墙上 无论我使用的是旧的SDK还是最新的SDK,代码都不再有效。我尝试将我的代码(以下)迁移到SDK的最新版本和最新协议,以处理身份验证,但没有成功。我还让客户端使用“manage_pages”(管理页面)范围(我从第一天起就有了)重新验证我的应用程序,没有
致命错误:未捕获OAuthException:错误签名
我一直在Facebook的文档和明智的堆栈溢出圣人之间徘徊,我已经智穷到极点了。我认为我的问题在于无法生成“长期”访问令牌,但我必须能够做到这一点,而不必让客户每次都登录Facebook(或者根本不登录Facebook)。那么,像那些将用户的Twitter状态镜像到Facebook的其他应用程序,如何在没有后续用户登录/验证的情况下处理离线发布
我注意到,如果我使用Facebook的GraphAPI浏览器,我的代码就可以工作。但这需要我看到一个对话,这在我的客户的情况下是行不通的。(几个月前不需要登录/重新身份验证。)
在过去的一周里,我一直在努力寻找答案,我一直在兜圈子:
…举几个例子。我觉得自己像一只困在浴缸里的蜘蛛
如果有人能分享一个适合我的具体情况的实用代码示例,那将非常感谢,谢谢。以下是我尝试适应最新Facebook PHP SDK和协议的代码:
<?php
require_once 'facebook.php';
$facebook_access_token_url = "https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=" . FACEBOOK_APP_ID . "&client_secret=" . FACEBOOK_APP_SECRET;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $facebook_access_token_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$facebook_access_token = curl_exec($ch);
curl_close($ch);
$config['appId'] = FACEBOOK_APP_ID;
$config['secret'] = FACEBOOK_APP_SECRET;
$config['fileUpload'] = false; // optional
$facebook = new Facebook($config);
$facebook->setAccessToken($facebook_access_token);
$page_id = FACEBOOK_APP_PAGE_ID;
$facebook_access_token = "";
$result = $facebook->api('/' . FACEBOOK_ACCOUNT_ADMIN_ID . '/accounts');
foreach($result['data'] as $page){
if($page['id'] == $page_id) {
$facebook_access_token = $page['access_token'];
break;
}
}
$facebook->setAccessToken($facebook_access_token);
$attachment = array(
'access_token' => $facebook_access_token,
'message' => 'Test message',
'scope' => 'manage_pages,publish_stream,publish_actions'
);
$result = $facebook->api('/' . $_GET['post_id'] . '/comments', 'post', $attachment);
?>
如果使用寿命较长的用户访问令牌获取页面访问令牌,默认情况下页面令牌不会过期–因此,在这种情况下,脱机访问不推荐不是实际问题。在代码中的哪一点会出现错误?