上传音频文件时,我在使用 SoundCloud API 发布到 Twitter 和 Facebook 时遇到了一些问题。我有从 SoundCloud 网站配置的 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 和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 配置文件中,我还可以将其设置为在新上传的声音上自动发布,只要我不包含“post_to”的参数,它就会发布到 Twitter 和 Facebook,但我希望能够控制什么和什么时间我发。如果您能提供任何帮助,我将不胜感激。
谢谢