Saya memiliki beberapa informasi di Google Spreadsheets sebagai satu lembar. Apakah ada cara agar saya dapat membaca informasi ini dari .NET dengan memberikan kredensial Google dan alamat spreadsheet. Apakah mungkin menggunakan Google Data API. Akhirnya saya perlu mendapatkan informasi dari spreadsheet Google di DataTable. Bagaimana saya bisa melakukannya? Jika ada yang pernah mencobanya, tolong bagikan beberapa informasi.
104
Jawaban:
Menurut panduan pengguna .NET :
Unduh perpustakaan klien .NET :
Tambahkan ini menggunakan pernyataan:
Otentikasi:
Dapatkan daftar spreadsheet:
Dengan adanya SpreadsheetEntry yang telah Anda ambil, Anda bisa mendapatkan daftar dari semua lembar kerja dalam spreadsheet ini sebagai berikut:
Dan dapatkan pakan berbasis sel:
sumber
exampleCo-exampleApp-1
")? apakah penting apa yang saya taruh di sana? Terima kasih!Saya menulis pembungkus sederhana di sekitar pustaka klien .Net Google , itu memperlihatkan antarmuka seperti database yang lebih sederhana, dengan jenis catatan yang diketik dengan kuat. Berikut beberapa contoh kode:
Ada juga penyedia LINQ yang diterjemahkan menjadi google operator kueri terstruktur Google :
sumber
(Jun-Nov 2016) Pertanyaan dan jawabannya sekarang sudah usang karena: 1) GData API adalah generasi Google API sebelumnya. Meskipun tidak semua API GData telah usang, semua API Google terbaru yang tidak menggunakan Google Data Protocol ; dan 2) ada Google Sheets API v4 baru (juga bukan GData).
Selanjutnya, Anda perlu mendapatkan Library Klien Google API untuk .NET dan menggunakan Sheets API terbaru , yang jauh lebih kuat dan fleksibel daripada API sebelumnya. Berikut adalah contoh kode C # untuk membantu Anda memulai. Periksa juga dokumen referensi .NET untuk Sheets API dan panduan pengembang Library Klien Google API .NET .
Jika Anda tidak alergi terhadap Python (jika ya, anggap saja itu pseudocode;)), saya membuat beberapa video dengan sedikit lebih lama, lebih banyak contoh "dunia nyata" tentang penggunaan API yang dapat Anda pelajari dan bermigrasi ke C # jika diinginkan :
sumber
Anda dapat melakukan apa yang Anda minta dengan beberapa cara:
Menggunakan pustaka C # spreadsheet Google (seperti dalam jawaban Tacoman667) untuk mengambil ListFeed yang dapat mengembalikan daftar baris (ListEntry dalam bahasa Google) yang masing-masing memiliki daftar pasangan nama-nilai. Dokumentasi Google spreadsheet API ( http://code.google.com/apis/spreadsheets/code.html ) memiliki lebih dari cukup informasi untuk Anda mulai.
Menggunakan API visualisasi Google yang memungkinkan Anda mengirimkan kueri yang lebih canggih (hampir seperti SQL) untuk mengambil hanya baris / kolom yang Anda butuhkan.
Konten spreadsheet dikembalikan sebagai feed Atom sehingga Anda dapat menggunakan penguraian XPath atau SAX untuk mengekstrak konten dari feed daftar. Ada contoh melakukannya dengan cara ini (saya khawatir hanya di Java dan Javascript) di http://gqlx.twyst.co.za .
sumber
Saya cukup yakin akan ada beberapa C # SDK / toolkit di Google Code untuk ini. Saya menemukan yang ini , tetapi mungkin ada yang lain jadi ada baiknya untuk melihat-lihat.
sumber
http://code.google.com/apis/gdata/articles/dotnet_client_lib.html
Ini seharusnya membuatmu memulai. Saya belum bermain dengannya belakangan ini tetapi saya mengunduh versi yang sangat lama beberapa waktu yang lalu dan sepertinya cukup solid. Yang ini diperbarui ke Visual Studio 2008 juga jadi lihat dokumentasinya!
sumber
Halaman blog Twilio ini dibuat pada 24 Maret 2017 oleh Marcos Placona semoga bermanfaat.
Google Spreadsheets dan .NET Core
Ini merujuk pada Google.Api.Sheets.v4 dan OAuth2 .
sumber
Jawaban yang paling banyak mendapat suara positif dari @Koleksi tidak lagi valid seperti yang dikatakan @wescape. Namun setelah 2020-03-03 itu tidak akan berfungsi sama sekali karena pustaka yang digunakan digunakan
Google Sheets v3 API
.https://developers.google.com/sheets/api/v3
Ini diumumkan pada 2019-09-10 oleh Google:
https://cloud.google.com/blog/products/g-suite/migrate-your-apps-use-latest-sheets-api
Contoh kode baru untuk
Google Sheets v4 API
:Pergi ke
https://developers.google.com/sheets/api/quickstart/dotnet
dan menghasilkan
credentials.json
. Kemudian instalGoogle.Apis.Sheets.v4
NuGet dan coba contoh berikut:Perhatikan bahwa saya mendapat kesalahan
Unable to parse range: Class Data!A2:E
dengan kode contoh tetapi dengan spreadsheet saya. Namun berubah menjadiSheet1!A2:E
bekerja karena lembar saya dinamai itu. Juga bekerja dengan hanyaA2:E
.sumber