2012-10-15 91 views
2

我在过去几天一直在阅读很多东西,而且我确信我已经学到了很多东西。所有这些应有的Facebook文档都在整个网络上传播(糟糕的意义上),让人们寻找信息并尝试了很多东西。如何使用Facebook应用程序访问令牌?

我已经做了一些东西,如:

  • 发布到网页墙(图片,链接,文字)
  • 发布到配置文件墙

所以,我想关于为页面创建一种自动海报。但是,想象一下。我们需要访问令牌,那些不会过期的访问令牌。

好的,没问题。从我一直在阅读的应用程序访问令牌照顾,然后我可以运行与脚本的克朗!

但是它应该如何使用访问令牌运行发布?

目前,使用用户令牌时,如果可以检索登录用户的ID,则使用此代码。

FB.api('/<?=$album_id?>/photos?access_token=<?=$fanpage_token?>', 'post', { 
    message: ementa, 
    url: selected_image 
    }, function(response) { 
    if (!response || response.error) { 
    alert('Falhou a publicar a ementa com imagem'); 
    } else { 
    alert('Page Post ID: ' + response.id); 
    } 
}); 

我从Graph API Explorer中手动获取粉丝页面标记,因为这只是要由cronjob使用。

我以前也有过相簿ID。

我怎样才能使用这个应用程序令牌?

谢谢!

回答

0

后的Facebook应用程序API使用的研究长天,我终于发现了感谢cbaclig该应用程序无法控制一些东西,也只是有权限做的东西一样检查页洞察,使实时间更新,以及一些类似的东西。

我在this link中发现了这个。

引述答案(它下线,以防万一)链接:

这似乎是搜索方法需要的实际用户访问令牌,不只是一个应用程序访问令牌就像你正在使用在你的例子中。我使用登录用户的访问令牌尝试了相同的查询,并且它工作正常。 https://github.com/arsduo/koala/wiki/OAuth上的第一个示例描述了获取用户访问令牌的不同方式(通过OAuth重定向,Javascript SDK等)。),您应该可以使用它来进行查询。

在一般情况下,应用程序访问令牌只用于特定应用的东西,比如让你的应用程序的洞察数据,注册实时更新,生成测试用户等

让我们知道是否有帮助!

编辑12年11月11日: 我终于发现,页面访问令牌可以访问publish_stream和manage_pages,这将让他们有失效,从来没有访问令牌发布。

您需要使用用户的扩展访问令牌获取Fan Page访问令牌。那个永远不会过期,然后你可以使用它作为永远的页面发出请求。

4

首先,你可以在PHP中获得更多的用户令牌(即持续60天)

$facebook = new Facebook(array(
      'appId' => APP_ID, 
      'secret' => APP_SECRET, 
      'fileUpload' => true 
     ));  
$facebook->setExtendedAccessToken(); 

然后$facebook->getAccessToken(),并将其存储到数据库;

之后,如果你想发布的东西给相应的用户墙,创建$ Facebook的对象,设置现有的访问令牌和做的事情......

$facebook = new Facebook(array(
     'appId' => $appId, 
     'secret' => $appSecret, 
     'fileUpload' => true 
    )); 
//set token 
    $facebook->setAccessToken($fbAccessToken); 
    $facebook->api('/me/photos','post', $data); 

这将自主使用cron作业工作。

+0

嗨。但从我一直在阅读的内容来看,因为我想以应用程序本身的身份访问它,而不依赖于用户,我不确定这将是处理它的最佳方式。 请注意,我没有直接上传图片,而是通过网址引用它(并且我已经完成了所有工作)。 我只是需要允许脚本运行,并像做一个用户一样进行验证,但是......没有! 非常感谢:) –

相关问题