Tentang codelab ini
1. Ringkasan
Dalam codelab ini,
Anda akan menggunakan Google Docs API untuk membuat dan menulis ke dokumen baru.
Yang akan Anda pelajari
- Cara menggunakan Google Cloud Speech to Text API
- Cara menggunakan Google Docs API untuk membuat dokumen baru
- Cara menggunakan Docs API untuk menulis ke dokumen
Yang Anda butuhkan
- Java diinstal (versi 7 atau yang lebih baru)
- Gradle diinstal (versi 5 atau yang lebih baru)
- Akses ke internet dan browser web
- Akun Google
- Project Google Cloud Platform
2. Menyiapkan project
Membuat project cloud
- Login ke Cloud Console lalu buat project baru atau gunakan kembali project yang sudah ada.
(Jika belum memiliki akun Gmail atau Workspace, Anda harus membuatnya.)
Ingat project ID,PROJECT_
.
- Selanjutnya,
Anda harus mengaktifkan penagihan di Cloud Console untuk menggunakan resource Google Cloud.
Menjalankan operasi dalam codelab ini seharusnya tidak memerlukan banyak biaya,
Mendapatkan kunci akun layanan untuk Cloud Speech-to-Text API
- Buka GCP Console dan temukan project baru Anda
- Membuat akun layanan
- Mendownload kunci akun layanan sebagai JSON
- Tetapkan variabel lingkungan GOOGLE_
APPLICATION_ ke jalur file JSON yang berisi kunci akun layanan Anda.CREDENTIALS Jika memulai ulang sesi shell, Anda harus menetapkan variabel lagi.
$ export GOOGLE_APPLICATION_CREDENTIALS ="[PATH]"
Contoh:
$ export GOOGLE_APPLICATION_CREDENTIALS ="/home/usr/downloads/ServiceAccount.json"
Mendapatkan Kredensial untuk Docs API
- Kembali di GCP Console,
buka Credentials - Membuat kunci OAuth 2.
0 dan mendownloadnya sebagai JSON - Ganti nama file
credentials.
dan pastikan file tersebut berada di direktorijson src/
kode Andamain/ resources/
Mengaktifkan API
- Pilih tab Dashboard,
klik tombol Enable APIs and Services, lalu aktifkan 2 API berikut: - Speech to Text
- Google Dokumen
Sekarang Anda siap untuk melanjutkan dan mulai bekerja dengan kode Anda.
3. Menyiapkan kode
Mendapatkan kode contoh
Untuk mendapatkan kode contoh,
.
$ git clone git@github. com:googleworkspace/ docs-transcript-codelab. git
Anda akan mengerjakan file Create
di dalam direktori start.
Di direktori Anda,Create
.
public class CreateTranscript {
private static final String CREDENTIALS_FILE_PATH = "/credentials.json" ;
// Specify audio file name below.
private static final String AUDIO_FILENAME = "audioFile.wav" ;
private static final String TOKENS_DIRECTORY_PATH = "tokens";
private static final JsonFactory JSON_FACTORY = JacksonFactory . getDefaultInstance ();
private static final String APPLICATION_NAME = "CreateTranscript" ;
private static final List<String> SCOPES = Collections. singletonList (DocsScopes . DOCUMENTS);
Untuk variabel SCOPES
,
Misalnya,DOCUMENTS_
.SCOPES
tidak hanya diperlukan agar aplikasi Anda memiliki izin akses yang tepat,
Ganti Nama Variabel
Pastikan variabel di atas dideklarasikan dengan benar untuk project Anda.
- Pastikan AUDIO_
FILENAME disetel ke nama file demo yang Anda kirim ke Speech to Text API.Di file Create Transcript. ,java Anda seharusnya sudah melihatnya disetel dengan benar. - Ganti nama CREDENTIALS_
FILE_ menjadi nama file kredensial yang didownload (harus '/PATH credentials.
).json' Pastikan file ini berada di dalam direktori src/
folder Anda,main/ resources jadi pastikan untuk membuat direktori ini jika cloning Git Hub tidak melakukannya untuk Anda.
Sekarang,
4. Melakukan inisialisasi Klien Dokumen
Di file Create
final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport . newTrustedTransport ();
Docs service = new Docs. Builder(HTTP_TRANSPORT , JSON_FACTORY ,
getCredentials (HTTP_TRANSPORT ))
. setApplicationName (APPLICATION_NAME )
. build();
Otorisasi Fungsi
Tugas pertama yang Anda lakukan di sini adalah pembuatan Docs service
(variabel).
Dalam kode Anda,service
ini untuk melakukan tugas terkait Dokumen.
5. Membuat Dokumen Google
Anda akan membuat Dokumen Google baru dengan judul tertentu.create
.
Document doc = new Document(). setTitle ("Transcript for " +
AUDIO_FILENAME );
doc = service. documents(). create(doc). execute();
String documentId = doc. getDocumentId ();
return documentId ;
Fungsi ini menampilkan ID File Drive dari Dokumen Google.
Selanjutnya,
6. Memanggil Speech to Text API
Tugas selanjutnya yang perlu Anda lakukan dalam kode adalah mendapatkan transkrip tertulis untuk file audio.get
.
Pertama-tama,
SpeechClient speech = SpeechClient . create();
Path path = Paths. get(AUDIO_FILENAME );
byte[] data = Files. readAllBytes (path);
ByteString audioBytes = ByteString . copyFrom (data);
Mengonfigurasi Pengenalan Ucapan
Selanjutnya,Recognition
dengan benar.
Di sini,config
memberikan informasi tentang cara tepatnya pengenal ucapan memproses permintaan Anda.set
jika,set
jika file audio Anda memiliki frekuensi sampel yang berbeda di Hertz (1600 adalah bahasa optimal).
RecognitionConfig config =
RecognitionConfig . newBuilder ()
. setEncoding (AudioEncoding . LINEAR16)
. setLanguageCode ("en-US")
. setSampleRateHertz (8000)
. build();
RecognitionAudio audio =
RecognitionAudio . newBuilder (). setContent (audioBytes ). build();
RecognizeResponse response = speech. recognize(config, audio);
List<SpeechRecognitionResult > results = response. getResultsList ();
Menyiapkan Teks
Terakhir,result
transkrip file audio dan siapkan untuk disisipkan ke dalam dokumen.
Setiap item dalam hasil adalah transkrip jenis Speech
.
List<Request> requests = new ArrayList <>();
for (SpeechRecognitionResult result : results) {
// Using the first + most likely alternative transcript
SpeechRecognitionAlternative alternative =
result. getAlternativesList (). get(0);
String toInsert = alternative. getTranscript ();
// Add requests array list to return.
requests. add(
new Request()
. setInsertText (
new InsertTextRequest ()
. setText (toInsert )
. setEndOfSegmentLocation (new
EndOfSegmentLocation (). setSegmentId (""))));
}
return requests;
7. Sisipkan teks ke dalam Dokumen
Sekarang Anda akan menyisipkan teks transkrip ke dalam Google Dokumen.Batch
.Batch
adalah penampung untuk berbagai jenis permintaan tulis dan,Insert
.
End
adalah parameter penting yang menentukan di Dokumen Anda mana Anda ingin mencetak teks.
Mari masukkan kode di bawah ini ke dalam fungsi Anda untuk melihat bagaimana hasil Speech-to-Text API yang digabungkan dengan panggilan ke Docs API memungkinkan kita menyisipkan transkrip file audio di Google Dokumen:
BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest ();
service. documents(). batchUpdate (docId ,
body. setRequests (insertRequests )). execute();
Membuat permintaan
Saat membuat permintaan Batch.
),.
).
Kini Anda telah menyisipkan transkrip file audio ke Dokumen yang dibuat.
8. Menjalankan kode
Sekarang setelah Anda memiliki semua kode yang diperlukan untuk mengambil file audio,
Karena akan menjalankan kode java menggunakan sistem build gradle,main
tetap konsisten dengan class java yang ingin dijalankan.
Bagus! Sekarang Anda siap untuk menjalankan kode.
$ gradle run
Autentikasi pengguna akhir
Saat pertama kali Anda menjalankan kode ini,
Di dalam direktori kerja,
Solusi
Jika kode Anda tidak berfungsi,
Sekarang mari kita lihat hasilnya.
9. Melihat hasil Anda
Anda baru saja membuat Dokumen Google baru yang berisi transkrip file audio Anda,
Dokumen ini dibuat melalui akun yang otorisasinya diberikan oleh pengguna akhir.
Dengan menggunakan kode sumber dan file audio yang disediakan,
10. Selamat!
Anda kini telah mempelajari cara membuat Dokumen Google,
Kemungkinan Peningkatan
Berikut beberapa ide tentang cara membuat integrasi yang lebih menarik:
- Siapkan kode Anda untuk memproses saat file audio telah ditambahkan ke Drive bucket Google Cloud Storage Anda,
dan picu Google Cloud Function untuk menjalankan kode ini - Cobalah menyisipkan teks ke dalam Dokumen Google yang tidak kosong
Pelajari Lebih Lanjut
- Baca dokumentasi Developer Google Dokumen API
- Posting pertanyaan dan temukan jawaban di Stack Overflow dengan tag google-docs-api