我在从我的画布应用程序中发布图像到用户相册方面遇到了问题。根据Facebook文档:
要将照片发布到用户的相册中,您必须获得publish_stream权限。授予该权限后,您可以通过向以下Graph API连接之一发出带有照片内容和可选描述的HTTP POST请求来上传照片:
1. https://graph.facebook.com/USER_ID/photos-该照片将被发布到为您的应用程序创建的相册中。如果该相册不存在,则我们会自动为您的应用程序创建一个相册。以这种方式上传的所有照片都将添加到同一个相册中。
2. https://graph.facebook.com/ALBUM_ID/photos-该照片将被发布到特定的现有照片相册中,由ALBUM_ID表示。
因此,根据第一点,如果我像这样上传图像...
如果我的应用程序需要的相册不存在,我可以期望它将我的图片放置在为我的应用程序命名的相册中(如果需要,它会创建相册)吗?
并不是这样。
实际上,当相册不存在时,上传的图片会被推送到任何其他方便存在的相册中,这些相册通常是其他应用程序的相册(由其创建)。这有点麻烦。
到目前为止,我尝试了以下方法:
1.禁用沙盒模式。我原以为应用程序可能无法创建新相册,因为它处于沙盒模式,但是禁用沙盒模式没有任何区别,即使启用它,我也可以直接创建相册。
2.检查我的相册是否存在,并在必要时创建它。我可以检查我的相册并在不存在时创建它,但是如果不是作为用户交互的直接结果调用,则无法上传图像,因此对Facebook.api进行POST调用以上传图像将失败。
所以现在我有点困惑了。显然,我不能让我的应用程序将图像发布到竞争者的相册中,但目前我能看到的唯一替代方案将涉及有效地使用户提交他们的图像两次,如果必须创建相册。有什么想法吗?
要将照片发布到用户的相册中,您必须获得publish_stream权限。授予该权限后,您可以通过向以下Graph API连接之一发出带有照片内容和可选描述的HTTP POST请求来上传照片:
1. https://graph.facebook.com/USER_ID/photos-该照片将被发布到为您的应用程序创建的相册中。如果该相册不存在,则我们会自动为您的应用程序创建一个相册。以这种方式上传的所有照片都将添加到同一个相册中。
2. https://graph.facebook.com/ALBUM_ID/photos-该照片将被发布到特定的现有照片相册中,由ALBUM_ID表示。
因此,根据第一点,如果我像这样上传图像...
Facebook.api("me/photos",imagePostCallback,{message:"",image:myImageBitmap,fileName:''},URLRequestMethod.POST);
如果我的应用程序需要的相册不存在,我可以期望它将我的图片放置在为我的应用程序命名的相册中(如果需要,它会创建相册)吗?
并不是这样。
实际上,当相册不存在时,上传的图片会被推送到任何其他方便存在的相册中,这些相册通常是其他应用程序的相册(由其创建)。这有点麻烦。
到目前为止,我尝试了以下方法:
1.禁用沙盒模式。我原以为应用程序可能无法创建新相册,因为它处于沙盒模式,但是禁用沙盒模式没有任何区别,即使启用它,我也可以直接创建相册。
2.检查我的相册是否存在,并在必要时创建它。我可以检查我的相册并在不存在时创建它,但是如果不是作为用户交互的直接结果调用,则无法上传图像,因此对Facebook.api进行POST调用以上传图像将失败。
所以现在我有点困惑了。显然,我不能让我的应用程序将图像发布到竞争者的相册中,但目前我能看到的唯一替代方案将涉及有效地使用户提交他们的图像两次,如果必须创建相册。有什么想法吗?