Android Facebook API例外情况“;无法发布此链接。”;

Android Facebook API例外情况“;无法发布此链接。”;,android,facebook,facebook-graph-api,Android,Facebook,Facebook Graph Api,我使用的是facebook sdk3.6用于android。我正试图通过我的应用程序分享到fb wall用户的链接 我用过 Bundle postParam = new Bundle(); postParam.putString("link","http://mylink.com/image/09324 324.jpg" postParam.putString("caption","my caption"); … … … Request request = new Request(sessio

我使用的是
facebook sdk3.6
用于
android
。我正试图通过我的应用程序分享到fb wall用户的链接
我用过

Bundle postParam = new Bundle();
postParam.putString("link","http://mylink.com/image/09324 324.jpg"
postParam.putString("caption","my caption");
… … …

Request request = new Request(session, "me/feed", postParam, HttpMethod.POST, reqCallback);
            RequestAsyncTask reqTask = new RequestAsyncTask(request);
            reqTask.execute();
链接包含空格
字符。
我可以通过浏览器访问该链接,只需将空格字符替换为
%20
。但是当我使用
link.replaceAll(“,“%20”)执行相同操作时,我得到了Facebook api异常

ErrorMessage = This link could not be posted.
ErrorCode = 1500
ErrorType=  FacebookApiException
我认为这是url编码问题,但使用
URLEncoder
或使用
String
对象的
replaceAll
方法将空格替换为
%20
都无法解决此问题。
字符串中没有任何不可打印的字符

注意:
log cat
输出复制并添加回该
包时,相同的链接可以正常工作。
更新:当我从程序中尝试发布相同的链接(不是
log cat
复制的链接)时,它成功发布。

问题是什么?如何解决?

hmmm可能使用

link.replaceAll("\\s","");
\s=任何空格字符(包括空格、制表符等)

正如你在这里看到的:


希望它能有所帮助:)

有时候Facebook会从他们的黑名单中屏蔽一个链接或域名。测试这一点的一种方法是,如果你试图用相同的链接直接发布到Facebook上

下面的链接可能会有所帮助,他们建议您使用,如果链接是安全的或不安全的,因此被列入黑名单


事实上,我使用了facebook shareDialog,并向用户提供了状态对话框,应用程序可以在其中填充
链接
图片、
说明
消息”(消息仅在webview上填充,即在未安装fb应用程序的设备中)属性,用户可以编辑/填写状态并在其时间线上发布

这是在某人的墙上张贴的更好的方式,因为用户可以看到他张贴的内容


抱歉这么晚才回答我自己的问题,虽然我已经解决了。

不,那也不行。从log cat输出复制并添加回该捆绑包时,仍然可以使用相同的链接。