我正在创建一个网络应用程序,我想在其中 1)将照片上传到 Facebook 上特定于应用程序的相册,然后 2)将该照片作为大项目/图像(不是缩略图)分享到用户的时间轴上。我知道这可以通过用户生成的照片可选参数来实现,但是对于网络应用程序还有其他方法可以实现吗?
2 回答
没有什么可以阻止 Web 应用程序使用用户生成的照片发布 Open Graph 操作。这是一个简单的过程:
- 在您的网站上设置 Facebook 身份验证,您最简单的选择是将 Javascript SDK与 getLoginStatus 一起使用。确保向
publish_actions
用户请求许可。 - 创建 Open Graph 操作和您的OG 对象类型
- 当用户采取适当的行动时,进行以下形式的 API 调用(使用用户访问令牌和 POST 签名):
https://graph.facebook.com/me/YOUR_APP_NAMESPACE:YOUR_APP_ACTION? YOUR_OBJECT_TYPE=YOUR_OBJECT_URL& image[0][url]=YOUR_PHOTO_URL& image[0][user_generated]=true
第 1 步是最难的部分,如果您不遵循 Open Graph 操作路线,无论如何您都必须这样做。
例如,Instagram 将took
其用作他们的动作和a photo
对象。他们的对象 URL 只是 Instagram 网站上的各个照片页面。所以他们的 API POST 调用看起来像这样:
https://graph.facebook.com/me/instagram:took?
photo=http://instagram.com/p/ABCD1234/&
image[0][url]=http://distilleryimage.instagram.com/somerandomstring.jpg&
image[0][user_generated]=true
正如用户生成的照片文档中提到的,这将在用户时间轴和提要上显示为一张大的全角照片。
从 Web 应用程序执行所有这些 API 调用的最简单方法是使用Javascript SDK和FB.api 函数。在这种情况下,您根本不需要使用任何服务器端代码!
只需在您的照片标题上填写此代码
“用@[124024574287414:0]拍了一张@@[0:[124024574287414:1:photo]]”
(没有双引号)它可以点击到instagram网站,这是我自己的自定义代码,我做了一个星期:(