上傳音頻文件時,我在使用SoundCloud API發佈到Twitter和Facebook時遇到了一些麻煩。我已經在SoundCloud網站上配置了Twitter和Facebook的預先連接設置。我已經通過在「/ me/connections」上使用GET請求驗證了它們都處於活動狀態。在Android上使用SoundCloud API發佈到Twitter和Facebook
我不確定用什麼參數來發布到社交網絡。我嘗試過「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未知錯誤。 iOS共享指南http://developers.soundcloud.com/blog/ios-sharing使用「post_to」,幷包含在com.soundcloud.api.Params
中,但是當我使用它時,會將音頻文件發佈到SoundCloud,但不會將任何消息發佈到Twitter和Facebook。下面是我使用的代碼:
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輪廓,我還可以將其設置爲新上傳的聲音自動發佈,並會張貼到Twitter和Facebook,只要我不包括帕拉姆「post_to」,但我希望能夠控制我發佈的內容和時間。我將不勝感激您提供的任何幫助。
感謝
感謝您的及時迴應。這對我來說是固定的,但在SoundCloud API文檔中肯定不是很清楚。它表示要在「與其他社交網絡共享聲音」部分使用「shared_to」,並且在文檔中根本沒有列出「post_to」。 – Nick