我有一个Android应用程序,我已通过Facebook SDK for Android实现共享,我正在使用Feed Dialog
一切都按照书面形式工作,但是,由于内容是音频,我现在也想分享MP3文件,就像SoundCloud一样。 Feed Dialog接受“source”参数,该参数似乎接受SWF或MP3源URL。 Feed Dialog feature documentation is here.
然而,当我嵌入Source参数时,它完全按照在tin上所说的那样“如果指定了源和图片,则仅使用源。”但是,它不符合第一个承诺,即:“此帖子附带的媒体文件(SWF或MP3)的URL。”
我的代码如下:
private void publishFeedDialog() {
Bundle params = new Bundle();
params.putString("app_id", "xxxxxxxxxxxxxxx");
params.putString("name", "Name of Audio File");
params.putString("caption", "Listen to Audios");
params.putString("description", "Listen Listen Listen");
params.putString("link", "applink on store");
params.putString("picture", "picturehostedsomewhere.png");
params.putString("source", "http://www.looptvandfilm.com/blog/Radiohead%20-%20In%20Rainbows/01%20-%20Radiohead%20-%2015%20Step.MP3");
WebDialog feedDialog = (
new WebDialog.FeedDialogBuilder(this,
Session.getActiveSession(),
params))
.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Bundle values,
FacebookException error) {
if (error == null) {
// When the story is posted, echo the success
// and the post Id.
final String postId = values.getString("post_id");
if (postId != null) {
Toast.makeText(getApplicationContext(),
"Shared on Facebook",
Toast.LENGTH_SHORT).show();
} else {
// User clicked the Cancel button
Toast.makeText(getApplicationContext(),
"Publish cancelled",
Toast.LENGTH_SHORT).show();
}
} else if (error instanceof FacebookOperationCanceledException) {
// User clicked the "x" button
Toast.makeText(getApplicationContext(),
"Publish cancelled",
Toast.LENGTH_SHORT).show();
} else {
// Generic, ex: network error
Toast.makeText(getApplicationContext(),
"Error posting story",
Toast.LENGTH_SHORT).show();
}
}
})
.build();
feedDialog.show();
}
当我分享故事时,我看到的是一个没有任何图片的故事,它只是带有链接,名称,标题和描述的纯文本,没有来源,没有图片,我认为facebooksdk在获取源代码时遇到问题或者我在这里遗漏了一些东西。 我只是想知道我哪里出错了?有什么帮助吗?