【问题标题】:unable to upload a photo to a facebook page timeline using php sdk无法使用 php sdk 将照片上传到 facebook 页面时间轴
【发布时间】:2013-10-23 13:09:23
【问题描述】:

我有一个与 facebook 交互的 PHP 应用程序。我成功地将照片发布到用户墙、uswer 时间线和 facebook 页面的墙上,但是当我尝试将同一张照片发布到 facebook 页面时间线时,它会引发错误“无效的 appsecret_proof 参数强>”。 我注释掉了试图在 base_facebook.php 文件中设置 appsecret_proof 的代码,然后尝试运行它给出的应用程序“用户尚未授权应用程序执行此操作”错误。 我已授予应用程序“photo_upload、publish_stream、publish_actions、manage_pages、user_photos”权限。在进行以下调用之前,我已经设置了页面的访问令牌

$ret_obj = $facebook->api ( '/page_id/feed' , 'POST' , array(  
                                                'source'  => $photo ,
                                                'message' => $message ,
                                                'name' => 'vinay' ,
        ) );

我该如何解决这个问题?

编辑:我还在应用高级设置中禁用了“需要 AppSecret Proof for Server API 调用”

【问题讨论】:

  • 照片将针对page_id/photos发布,而不是page_id/feed according to docs
  • 使用 page_id/photos 我可以发布到页面的时间线,我如何发布到页面相册或新闻源,以便照片出现在页面的主页中。
  • 通过发帖反对/album_id/photos ...? developers.facebook.com/docs/reference/api/album/#photos
  • 是的,但 page_id/photos 不应该与album_id/photos 做同样的事情,根据facebook doc,如果没有指定相册ID,应用程序应该创建一个相册并将照片发布到相册跨度>
  • CBroe 刚刚回答了您的问题:how do i post to page album

标签: php facebook facebook-graph-api facebook-php-sdk


【解决方案1】:

如果您想发布到特定相册,请使用/album_id/photos,如果您不关心任何相册,只需使用:/page_id/photos

现在,如果您使用用户访问令牌,照片将上传到该页面(在上述两种情况中的任何一种情况下),但它会出现在该部分下的页面墙中:

其他人在 PageName 上的最新帖子

如果您希望您的照片在页面的时间线上可见;照片必须代表页面本身发布 - 使用 页面访问令牌,而不是用户访问令牌。

获取页面访问令牌查询:/me/accounts,权限为:manage_pagesDemo

【讨论】:

  • 是的,我尝试使用页面访问令牌(在问题中提到)上传照片,这导致我出现无效的 appsecret_proof 参数错误
  • 你看过这个讨论了吗:stackoverflow.com/questions/18683421/… ?
  • 但是您在第二条评论中说可以使用page_id/photos 发布照片?
  • 是的,我已经检查了stackoverflow.com/questions/18683421/…
  • 好吧,让我总结一下:我可以上传到用户时间线、用户相册、页面时间线:所有这些都使用用户访问令牌,剩下要做的就是发布(如果可能的话)对相册进行分页,使其出现在页面的主页上
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-03
相关资源
最近更新 更多