facebook-graph-api - 是否可以通过 WSO2 Facebook ESB 连接器将图像从本地台式机/笔记本电脑上传到 Facebook
问题描述
我一直在尝试使用 WSO2 ESB Facebook 连接器将本地系统中的图像上传到 facebook。
以下是我尝试过的事情:
使用直接 facebook API(由 Facebook 提供)我尝试以两种方式上传图像:
a. Using Multipart/form-data to upload an image that is in local desktop b. Tried to upload the image which is already there in google image.
通过这两种方式,我可以上传图像。
- 现在,我正在尝试通过 ESB 序列使用 WSO2 ESB/EI Facebook 连接器上传相同的内容。使用 ESB 连接器,我只能使用 URL 上传 Internet 上的图像。我无法使用 multipart/from-data 从本地桌面上传图像。
WSO2 ESB 版本 - 6.3.0 在axis2.xml 文件中,多部分表单数据在消息格式化程序和消息构建器中都启用。
所附图像是我为 ESB 中的 Facebook 连接器传递的有效负载的参考,也是我面临的错误响应。
解决方案
以下是从 Facebook 官方文档中获取的关于照片上传的示例请求。请注意,它声明“要上传照片,请向 /object-id/photos 发出请求,其中 /object-id 可以是用户、页面、事件或相册。 ”
curl -i -X POST \
-d "url=https://www.facebook.com/images/fb_icon_325x325.png" \
-d "caption=test photo upload" \
-d "access_token=<user_photos_user_access_token>" \
"https://graph.facebook.com/v2.11/me/photos"
EI 连接器文档提供以下示例配置 [1]。我们可以观察到,这里的 albumId 也是通过 postPhotoToAlbum 操作传递的。由于您观察到无效的 URL 错误响应,我怀疑您可能没有正确配置这些参数。
<facebook.postPhotoToAlbum>
<albumId>{$url:album_id}</albumId>
<apiUrl>https://graph.facebook.com</apiUrl>
<apiVersion>{$url:apiVersion}</apiVersion>
<accessToken>{$url:accessToken}</accessToken>
</facebook.postPhotoToAlbum>
即使在配置了 albumid 之后,如果您发现同样的问题,请在 EI 服务器中启用有线日志并检查是否将正确的请求传递给 Facebook API。
[1]-https://docs.wso2.com/display/ESBCONNECTORS/Configuring+Facebook+Operations
推荐阅读
- javascript - 数组的拼接会减少array.length的值吗?
- botframework - 微软团队自适应卡上的取消按钮
- r - selectInput 变量影响图表输出 - 组参数?最好使用 highcharter 输出 [Shiny app]
- android - 如何有效地使用 Dagger 2 与 MVVM 和 Clean Architecture 一个多模块 Android 项目
- python - HTTP/2 PYTHON AttributeError: 'NoneType' 对象没有属性 'write'
- python - 在 ListView 上测试 get_context_data() 会抛出 'AttributeError: object has no attribute 'object_list'
- javascript - 使用codeigniter进行ajax调用后如何在dompdf上呈现内容?
- spring-boot - 如何自定义石英调度程序每秒执行的作业数(作业/秒)?
- kubernetes - 需要在 k8s 中应用 alertmanager repo 中的 prometheus 规则
- php - 尝试登录时出现“无法访问 API”错误