我正在为 android
使用 facebook sdk 3.6
。我正在尝试通过我的应用程序将链接分享给用户 fb 墙。
我用过
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
解决,也不能通过 replaceAll
方法将空格替换为 %20
String
对象。
字符串中没有任何不可打印的字符。
注意:从 log cat
输出复制并添加回该 bundle
时,相同的链接工作正常。
更新: 当我尝试从程序中发布相同的链接(不是 log cat
复制的)时,它成功发布了。
问题是什么,如何解决?
最佳答案
有时 Facebook 会从他们的黑名单中屏蔽链接或域。测试这一点的一种方法是,如果您尝试使用相同的链接直接发布到 Facebook。
下面的链接可能会有帮助,他们建议您使用 https://safeweb.norton.com链接是否安全并因此被列入黑名单。
https://www.facebook.com/help/community/question/?id=541062392623556
关于android - Facebook API 异常 "This link could not be posted.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21132023/