Как получить записанный WAV-файл, используя Twilio Java API - PullRequest
1 голос
/ 21 января 2020

Может ли кто-нибудь указать мне, используя Twilio Java API , НЕ! REST-запросы, как я могу получить записанный файл (.wav) конкретного вызова.

Я прочитал все соответствующие статьи для записи (https://support.twilio.com/hc/en-us/sections/205104748-Recording), но ни одна из них показано, как это сделать с помощью Java API.

Я использую этот код в качестве отправной точки, предполагая, что CALL_SID известен:

import com.twilio.Twilio;
import com.twilio.base.ResourceSet;
import com.twilio.rest.api.v2010.account.Recording;
import com.twilio.rest.api.v2010.account.RecordingReader;

public class DeleteRecordings1 {

    private static final String ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX";
    private static final String AUTH_TOKEN = "999aa999aaa999aaaa999";

    private static final String CALL_SID = "CA83837718818gdgdg";

    public static void main(String[] args) {
        try {       
            Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

            RecordingReader recordingReader = Recording.reader();
                recordingReader.setCallSid(CALL_SID);

            ResourceSet<Recording> recordings = recordingReader.read();
            String recordingSid;
            for (Recording recording: recordings) { 
                recordingSid = recording.getSid();              

                //HERE! I want to restore the .wav file associated with that RECORD_SID ?¿

            }                       
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

Ответы [ 2 ]

1 голос
/ 22 января 2020

Я поставил окончательный код, на случай, если он кому-нибудь поможет:

import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

import com.twilio.Twilio;
import com.twilio.base.ResourceSet;
import com.twilio.rest.api.v2010.account.Recording;
import com.twilio.rest.api.v2010.account.RecordingReader;

public class GetCallRecordings {

    private static final String ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX";
    private static final String AUTH_TOKEN = "999aa999aaa999aaaa999";

    private static final String CALL_SID = "CA83837718818gdgdg";

    private static final String TWILIO_RES_URL = "https://api.twilio.com/2010-04-01/Accounts";
    private static final String REC_EXT = ".mp3";

    private static final String RUTA_RECS = "C:/recursos/grabaciones/";

    public static void main(String[] args) {
        try {
            Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

            RecordingReader recordingReader = Recording.reader();
            recordingReader.setCallSid(CALL_SID);

            ResourceSet<Recording> recordings = recordingReader.read();

            String recordingSid;
            String urlGrabacion;
            String locGrabacion;

            InputStream in;

            for (Recording recording : recordings) {
                recordingSid = recording.getSid();
                urlGrabacion = TWILIO_RES_URL + "/" + ACCOUNT_SID + "/Recordings/" + recordingSid + REC_EXT;
                locGrabacion = RUTA_RECS + CALL_SID + "_" + recordingSid + REC_EXT;

                System.out.println("Recuperando grabacion " + recordingSid);
                System.out.println("Ubicacion remota " + urlGrabacion);

                if (!new File(RUTA_RECS).exists()) {
                    new File(RUTA_RECS).mkdirs();
                }

                in = new URL(urlGrabacion).openStream();
                Files.copy(in, Paths.get(locGrabacion), StandardCopyOption.REPLACE_EXISTING);

                System.out.println("Ubicacion local " + locGrabacion);

                in.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
0 голосов
/ 21 января 2020

Если вы знаете recordingSid, например RE557ce644e5ab84fa21cc21112e22c485

, вы можете получить файл .wav на https://api.twilio.com/2010-04-01/Accounts/ACXXXXX.../Recordings/RE557ce644e5ab84fa21cc21112e22c485.wav

. Файл .mp3 можно получить на https://api.twilio.com/2010-04-01/Accounts/ACXXXXX.../Recordings/RE557ce644e5ab84fa21cc21112e22c485.mp3

где ACXXXXX... - SID вашей учетной записи Twilio (ACCOUNT_SID)

...