微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 将图像发布到预定义页面上的相册

我试图让用户在我的网站上将图像发布到特定Facebook页面上的相册中.
在他能够在他的计算机上选择图像之前,他需要在facebook上登录并且必须已经为我们的应用程序提供所需的权利(临时流程)

要将选定的图像发布到我们页面的相册,我们需要一个访问令牌,因此我们拥有执行此操作的权限.
我们可以通过执行以下步骤手动获取权限:

>导航到以下作为页面管理员登录的URL,并授予权限(user_photos,manage_pages,offline_access,publish_stream)

https://www.facebook.com/dialog/oauth?
client_id=<application_id>
&redirect_uri=<canvas_url>
&response_type=token
&scope=user_photos,manage_pages,offline_access,publish_stream

>当您为应用程序提供所需的权限时,您将被重定向到canvas_url#access_token = * access_token *,例如

http://example.com/#access_token=awe12

>然后导航到

https://graph.facebook.com/me/accounts?access_token=#access_token
(using the access token from 2). 

这将列出您管理的页面;记下要上传图像的页面的access_token

现在,有没有办法自动完成这项工作?
或者更好的是,有没有办法为这个页面生成访问令牌,永远不会过期?

解决方法:

您不必使用页面的access_token来发布到页面相册.如果您使用页面的access_token,那么图像将显示为由页面发送(而不是由用户发送).

只要相册具有公共访问权限(意味着任何人都可以将照片上传页面的相册).您所需要的只是要求用户授予您publish_stream权限并使用access_token上传图像.

如果您正在使用PHP Sdk,它应该看起来像这样:

  $facebook->api("ALBUM_ID/photos","POST",array(
        "message"=>"some message",
        "source"=>"@PATH_TO_IMAGE"
  ));

当然,您需要在$facebook对象中启用imageUpload,并将脚本传递给signed_request或设置access_token,以便SDK使用当前用户的access_token.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐