オーディオ ファイルをアップロードするときに、SoundCloud API を使用して Twitter や Facebook に投稿する際に問題が発生します。SoundCloud Web サイトから設定した Twitter と Facebook の既存の接続設定があります。「/me/connections」で GET リクエストを使用して、両方がアクティブであることを確認しました。
ソーシャル ネットワークに投稿するために使用するパラメーターがわかりません。「post_to」、「shared_to」、「shared-to」、「share_to」を試しました。http://developers.soundcloud.com/docs/api/guide#uploadingの API では「shared_to」を使用するように指示されていますが、含まれておらずcom.soundcloud.api.Params
、文字列を手動で入力すると HTTP 422 不明エラーが発生します。http://developers.soundcloud.com/blog/ios-sharingの iOS 共有ガイドでは「post_to」を使用しており、これは含まれてcom.soundcloud.api.Params
いますが、それを使用すると、音声ファイルは SoundCloud に投稿されますが、Twitter にはメッセージが投稿されず、フェイスブック。私が使用しているコードは次のとおりです。
HttpResponse httpResp = Api.wrapper.get(Request.to(Endpoints.MY_CONNECTIONS));
JSONArray jsonCons = new JSONArray(Http.getString(httpResp));
String[] cons = new String[jsonCons.length()];
JSONObject jsonTemp;
for(int i = 0; i < jsonCons.length(); i++) {
jsonTemp = jsonCons.getJSONObject(i);
cons[i] = Integer.toString(jsonTemp.getInt("id"));;
}
httpResp = Api.wrapper.post(Request.to(Endpoints.TRACKS)
.withFile(Params.Track.ASSET_DATA, file)
.add(Params.Track.TITLE, file.getName())
.add(Params.Track.SHARING, Params.Track.PUBLIC)
.add(Params.Track.POST_TO, cons)
// .add("track[shared_to][][id]", cons)
.setProgressListener(new Request.TransferProgressListener() {
@Override
public void transferred(long l) throws IOException {
if (isCancelled()) throw new IOException("canceled");
publishProgress(l, file.length());
}
}));
SoundCloud プロファイルでは、新しくアップロードされたサウンドに自動的に投稿するように設定することもできます。「post_to」のパラメーターを含めない限り、Twitter と Facebook に投稿されますが、何をいつ制御できるようにしたいですか?投稿します。ご協力いただければ幸いです。
ありがとう