【问题标题】:Attach picture to Facebook for Android Share Dialog将图片附加到 Facebook for Android 共享对话框
【发布时间】:2013-09-02 12:07:17
【问题描述】:

我目前正在试用 Facebook for Android 共享对话框 (https://developers.facebook.com/docs/android/share-dialog/),它是在 Facebook for Android SDK 3.5 中引入的。

启动对话框的代码很简单:

FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this)
     .setLink("https://developers.facebook.com/android")
     .build();
uiHelper.trackPendingDialogCall(shareDialog.present());

与 setLink() 类似,在 FacebookDialog.ShareDialogBu​​ilder 中有一个 setPicture(String url) 方法。但我无法让这个 setPicture() 方法工作。我试图将 Url 放入本地图像文件、在线图像以及 FB 暂存图像(fbstage://...),但似乎对查看的共享对话框或生成的帖子没有任何影响。

有没有人让 setPicture() 方法工作?

【问题讨论】:

  • 您是否在 facebook 上看到帖子,但没有图片或帖子根本没有显示?
  • 你搞定了吗,我的本地文件也有同样的问题
  • @sromku:我看到帖子但没有图片。
  • @Jacky:不,还没有进展。你有没有设法附上任何图片?
  • @semmelway 在下面看到我的答案

标签: facebook facebook-android-sdk


【解决方案1】:

来自facebook feed的文档

The picture must be at least 200px by 200px. 

还有更多图片限制,请查看here

This is an image associated with your media. We suggest that you use an image of at least 200x200 pixels. However, bigger is better, so if you have a 1500x1500 image that you can use, please use it. We'll downsample and crop it for for people using smaller-resolution devices but will use it on a larger device. The larger this image is, the more likely it will be used when sharing stories on Facebook. (Note: image sizes must be no more than 5MB in size.)

【讨论】:

  • 谢谢。但是你在谈论 Open Graph 的故事。我想做一个简单的状态更新并提供图像。然后没有算法决定是否显示图像。
  • 我只需要确认是否支持本地图像(如:file:///data/data/com.xb.android_3/cache/Images/default_pack_cover_image.jpg)?跨度>
  • @Jacky,不,它必须是带有 http 或 https 的有效 url。喜欢:fbrell.com/f8.jpg
  • @semmelway 第一条评论与提要图片网址有关。它们应至少为 200x200,并指向有效的 url。第二条评论确实与故事有关,但我认为相同的算法方法适用于图像方面的提要和故事。
【解决方案2】:

ShareDialogBuilder 不允许共享本地文件,只能共享远程文件。

目前我认为唯一的方法(通过共享对话框)是通过打开图形操作对话框。

【讨论】:

    【解决方案3】:

    为了让你调用 setPicture() 应该和 setLink() 一起使用。

    请参阅下面的文章。 https://developers.facebook.com/docs/reference/android/current/class/FacebookDialog.ShareDialogBuilder/

    【讨论】:

      【解决方案4】:

      您需要使用外部 URL,例如:

      .setPicture("http://yourdomain.com/images/xyz.png");

      此外,它只会在您设置了链接后显示。

      【讨论】:

        猜你喜欢
        • 2015-04-15
        • 1970-01-01
        • 2014-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多