我有一个 Android 应用程序,我已经通过 Facebook SDK for Android 实现了共享,我正在使用Feed Dialog
一切都按书面形式工作,但是,由于内容是音频,我现在也想共享 MP3 文件,就像 SoundCloud 一样。Feed Dialog 接受“source”参数,该参数似乎接受 SWF 或 MP3 源 URL。提要对话框功能文档在这里。
但是,当我嵌入 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 在获取来源时遇到问题,要么我错过了这里有东西。我只是想知道我哪里错了?请问有什么帮助吗?