Android 将图片发布到 Facebook 墙

2023-11-21

我正在尝试将照片发布到我的 Facebook 墙上。我已经成功登录并将文本发布到墙上。然而,当我尝试发布图片时,什么也没有发生。

我正在使用Android 脸书 SDK.

这是我到目前为止所拥有的:

    Bundle params = new Bundle();
    params.putString("method", "photos.upload");

    Toast.makeText(FacebookPoster.this, "" + getIntent().getExtras().getByteArray("data").length, Toast.LENGTH_SHORT).show();

    params.putByteArray("picture", getIntent().getExtras().getByteArray("data"));

    AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
    mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null);

Toast显示8733,这意味着字节数组不为空

注意。 Logcat 输出一些警告(不是错误):

03-02 14:19:29.554: WARN/Bundle(1891): Attempt to cast generated internal exception:
03-02 14:19:29.554: WARN/Bundle(1891): java.lang.ClassCastException: java.lang.String
03-02 14:19:29.554: WARN/Bundle(1891):     at android.os.Bundle.getByteArray(Bundle.java:1305)
03-02 14:19:29.554: WARN/Bundle(1891):     at com.facebook.android.Util.openUrl(Util.java:155)
03-02 14:19:29.554: WARN/Bundle(1891):     at com.facebook.android.Facebook.request(Facebook.java:559)
03-02 14:19:29.554: WARN/Bundle(1891):     at com.facebook.android.AsyncFacebookRunner$2.run(AsyncFacebookRunner.java:253)
03-02 14:19:29.584: WARN/Bundle(1891): Key method expected byte[] but value was a java.lang.String.  The default value <null> was returned.

(在彼此下方多次显示。)

我究竟做错了什么?


SOLVED.这就是我为使其发挥作用所做的:

facebook.authorize(this, new String[] { "publish_stream" },
        new DialogListener() {

    @Override
    public void onFacebookError(FacebookError e) {
    // TODO Auto-generated method stub
    }

    @Override
    public void onError(DialogError dialogError) {
    // TODO Auto-generated method stub
    }

    @Override
    public void onComplete(Bundle values) {
        postToWall(values.getString(Facebook.TOKEN));                                              
    }

    @Override
    public void onCancel() {
    // TODO Auto-generated method stub
    }
});

以及辅助方法:

private void postToWall(String accessToken) {       
    Bundle params = new Bundle();

    params.putString(Facebook.TOKEN, accessToken);

    // The byte array is the data of a picture.
    params.putByteArray("picture", getIntent().getExtras().getByteArray("data"));

    try {
        facebook.request("me/photos", params, "POST");

    } catch (FileNotFoundException fileNotFoundException) {
        makeToast(fileNotFoundException.getMessage());
    } catch (MalformedURLException malformedURLException) {
        makeToast(malformedURLException.getMessage());
    } catch (IOException ioException) {
        makeToast(ioException.getMessage());
    }
}

首先,你没有使用 graph api 来上传图片...你正在使用旧的 Rest api...尝试使用 graph api,它很简单...

使用以下代码:

Bundle param = new Bundle();
param.putString("message", "picture caption");
param.putByteArray("picture", ImageBytes);
mAsyncRunner.request("me/photos", param, "POST", new SampleUploadListener());

根据错误消息,它看起来像是从意图的包中获取字节时出错......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 将图片发布到 Facebook 墙 的相关文章

随机推荐

  • 从 ASP.NET MVC 中的现有数据库生成种子代码

    我想知道是否有人遇到过类似的挑战 我有一个数据库 其中包含一些从 Excel 文件进行 ETL 处理 导入和转换 的数据 在我的 ASP NET MVC Web 应用程序中 我使用 Code First 方法并在每次数据库更改时删除 创建
  • 如何使 pyplot.subplots 内的图像更大

    我需要在网格中显示20张图像 我的代码如下 def plot matric demo img nrows ncols fig ax plt subplots nrows nrows ncols ncols cur index 0 for r
  • Python 列表字典中的项目计数

    我有一个列表字典 我想为其添加一个值到特定列表 我有以下列表词典 d a 4 Adam 2 b 3 John 4 c 4 Adam 3 d 4 Bill 3 e 4 Bob f 4 Joe g 4 Bill 我想本质上计算出名字的数量并返回
  • 使用scipy高斯核密度估计计算CDF逆

    The gaussian kde函数于scipy stats有一个功能evaluate可以返回输入点的 PDF 值 我正在尝试使用gaussian kde估计逆 CDF 其动机是生成一些输入数据的蒙特卡罗实现 这些数据的统计分布是使用 KD
  • 使用 Pandoc 将 Markdown 转换为 PDF 时使用 CSS

    我正在 OS X 上尝试 Pandoc 迄今为止的结果令人印象深刻 然而 一个阻碍性问题是让 CSS 样式在内联代码示例上工作 我正在从 Markdown 转换为 PDF 我的源代码中有这个字符串 Create a simple HTML
  • 如何找到给定半径内最近的城市?

    您是否知道一些实用程序或网站 我可以在其中提供美国城市 州和以英里为单位的径向距离作为输入 并且它会返回该半径内的所有城市 Thanks 我是这样做的 您可以获得城市 街道 邮政编码及其纬度和经度的列表 我一时想不起我们是从哪里得到的 ed
  • ASP.NET MVC OWIN 和 SignalR - 两个 Startup.cs 文件

    我的项目有问题 我使用 ASP NET MVC 和 ASP NET Identity 2 0 进行身份验证 并将 SignalR 添加到项目中 所以现在我有两个 Startup cs 文件 根目录中 MVC 中的第一个 assembly O
  • Python 2.7 Cx_Freeze:导入错误:没有名为 __startup__ 的模块

    我正在尝试使用 cx Freeze 将 Python 中的 hello world 程序编译为 Linux 上的独立二进制文件 包 运行 cx Freeze 时 它 会完成且不会出现错误 但是当我尝试运行生成的可执行文件时 出现错误 Imp
  • 为什么 jQuery 在我的 GreaseMonkey 脚本中加载两次

    由于某种原因 我的 Firefox4 GreaseMonkey 脚本加载 jQuery 两次 我复制并粘贴了以下代码片段 测试 警报显示两次 Regards var Add jQuery function if typeof unsafeW
  • 在 IE 9 中通过 javascript 更改文档正文字体大小时选择框截断文本

    IE 9 对我来说表现得很奇怪 我有一个页面字体大小更改控件 可以保存用户设置 然后在文档中将正文字体大小设置为该大小 它工作正常 问题是 当加载带有下拉菜单的页面时 在 IE 9 中 有时文本会被截断 我已将代码简化为这个 jsfiddl
  • 为什么 NSFetchedResultsController 没有用新数据更新?

    我的核心数据模型有两个实体 Author and Book具有一对多关系 一位作者 gt 多本书 在主视图中 我显示一个书籍列表 其中每个单元格包含书籍名称和作者姓名 该视图还分为多个部分 每个部分的标题是作者姓名 请注意 author n
  • UICollectionViewCell 子类的 contentView.translatesAutoResizingMaskToConstraints 是否应该设置为“false”?

    TL DR 当尝试通过自动布局调整 UICollectionViewCells 的大小时 即使是一个简单的示例 您也可以轻松获得自动布局警告 我们应该设置contentView translatesAutoResizingMaskToCon
  • 从 C# 代码内部访问 F# 列表

    我编写了一个 F 模块 其中包含一个列表 module MyModule type X valuex float32 let l for i in 1 10 gt valuex 3 3f 现在 我尝试从 C 类访问先前定义的列表 但我不知道
  • 如何在 javascript 中动态创建具有值数组的地图

    我有这个要求 根据函数中传递的参数数量 我需要在映射中创建那么多条目 假设我有一个函数 myfunc1 a b c 我需要一张键为 a b 和 c 的映射 并且每个键可以有多个值 但问题是我事先不知道这些键会有多少值 当值出现时 我需要将它
  • openssl 中是否有任何 C API 可以从给定字符串派生密钥

    我需要 openssl 库中的 C API 来从给定的字符串派生密钥 我在哪里可以获得这方面的示例源代码 执行此操作的标准算法是 PBKDF2 PBKDF2 的缩写 基于密码的密钥派生函数版本 2 OpenSSL 中有一个 PBKDF2 的
  • 确定我的电脑是否支持硬件虚拟化

    一般来说 如何确定一台 PC 是否支持硬件虚拟化 我使用 VirtualPC 来设置并行测试环境 并且我会享受一点速度提升 下载这个 http www cpuid com cpuz php 还要检查 http en wikipedia or
  • 检查用户名或用户电子邮件已存在

    我正在一个简单的注册页面中工作 用户无法输入相同的用户名或电子邮件 我编写了一个代码来阻止用户输入用户名并且它起作用了 但是当我试图阻止用户输入相同的用户名时或通过电子邮件发送它不起作用 我的问题是 如何添加另一个条件 使用户无法输入已存在
  • Javascript:何时在构造函数内定义函数以及何时使用原型?

    我注意到在各种教程中向 类 添加函数的不同方法 第一个是在类的构造函数中 Class function this doSomething function 另一种是 Class function Class prototype doSome
  • 如何找到退化树中从特定顶点开始的所有相等路径?

    我有一些degenerate tree 它看起来像数组或双向链表 例如 是这棵树 每条边都有一定的权重 我想找到从每个顶点开始的所有相等路径 换句话说 我想获取所有元组 v1 v v2 其中 v1 和 v2 是任意祖先和后代 使得c v1
  • Android 将图片发布到 Facebook 墙

    我正在尝试将照片发布到我的 Facebook 墙上 我已经成功登录并将文本发布到墙上 然而 当我尝试发布图片时 什么也没有发生 我正在使用Android 脸书 SDK 这是我到目前为止所拥有的 Bundle params new Bundl