0

私は Android アプリを持っていて、Facebook SDK for Android を介して共有を実装しました。Feed Dialogを使用しています。

すべてが書かれているとおりに機能しますが、コンテンツがオーディオであるため、SoundCloud と同じように MP3 ファイルも共有したいと考えています。Feed Dialog は、SWF または MP3 ソース URL を受け入れるように見える「source」パラメータを受け入れます。フィード ダイアログ機能のドキュメントはこちらです。

ただし、Source パラメータを埋め込むと、「ソースと画像の両方が指定されている場合は、ソースのみが使用されます」と書かれているとおりに動作します。ただし、最初の約束である「この投稿に添付されたメディア ファイル (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 でソースの取得に問題があるか、欠落していると思います。ここに何か。どこが間違っているのだろうか?何か助けてください。

4

0 に答える 0