У меня есть некоторая информация в таблицах Google в виде отдельного листа. Есть ли способ, с помощью которого я могу прочитать эту информацию из .NET, указав учетные данные google и адрес электронной таблицы. Возможно ли использование API данных Google. В конечном итоге мне нужно получить информацию из электронной таблицы Google в DataTable. Как я могу это сделать? Если кто-то попытался это сделать, pls поделится некоторой информацией.Доступ к таблицам Google с помощью C# с использованием API данных Google
ответ
Согласно .NET user guide:
.NET client library Загрузите:
Добавить эти заявления с помощью:
using Google.GData.Client;
using Google.GData.Extensions;
using Google.GData.Spreadsheets;
Аутентифицировать:
SpreadsheetsService myService = new SpreadsheetsService("exampleCo-exampleApp-1");
myService.setUserCredentials("[email protected]", "mypassword");
Получить список таблиц:
SpreadsheetQuery query = new SpreadsheetQuery();
SpreadsheetFeed feed = myService.Query(query);
Console.WriteLine("Your spreadsheets: ");
foreach (SpreadsheetEntry entry in feed.Entries)
{
Console.WriteLine(entry.Title.Text);
}
Учитывая SpreadsheetEntry вы уже извлечены, вы можете получить список всех рабочих листов в этой таблице следующим образом:
AtomLink link = entry.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, null);
WorksheetQuery query = new WorksheetQuery(link.HRef.ToString());
WorksheetFeed feed = service.Query(query);
foreach (WorksheetEntry worksheet in feed.Entries)
{
Console.WriteLine(worksheet.Title.Text);
}
И получают корм на основе клеток :
AtomLink cellFeedLink = worksheetentry.Links.FindService(GDataSpreadsheetsNameTable.CellRel, null);
CellQuery query = new CellQuery(cellFeedLink.HRef.ToString());
CellFeed feed = service.Query(query);
Console.WriteLine("Cells in this worksheet:");
foreach (CellEntry curCell in feed.Entries)
{
Console.WriteLine("Row {0}, column {1}: {2}", curCell.Cell.Row,
curCell.Cell.Column, curCell.Cell.Value);
}
Я уверен, что для этого будут некоторые SDK/инструментарий C# для Google Code. Я нашел this one, но могут быть и другие, поэтому стоит осмотреть.
http://code.google.com/apis/gdata/articles/dotnet_client_lib.html
Это должно вам начать работу. Я не играл с ним в последнее время, но я загрузил очень старую версию некоторое время назад, и это казалось довольно солидным. Этот обновляется до Visual Studio 2008, поэтому ознакомьтесь с документами!
Вы можете делать то, что вы просите несколько способов:
Использование таблицы C# библиотеки Google (как в ответ Tacoman667), чтобы принести ListFeed, который может возвращать список строк (ListEntry в Google жаргоне) каждый из которых имеет список пар имя-значение. В документации по электронной таблице Google (http://code.google.com/apis/spreadsheets/code.html) имеется более чем достаточно информации для начала работы.
Использование API визуализации Google, который позволяет отправлять более сложные (почти как SQL) запросы для извлечения только требуемых строк/столбцов.
Содержимое электронной таблицы возвращается как Atom, поэтому вы можете использовать синтаксический анализ XPath или SAX для извлечения содержимого фида списка. Это пример этого (в Java и Javascript, хотя я боюсь) в http://gqlx.twyst.co.za.
I wrote a simple wrapper вокруг Google's .Net client library, предоставляет более простой базы данных, как интерфейс, с сильно типизированных типов записей.Вот некоторые примеры кода:
public class Entity {
public int IntProp { get; set; }
public string StringProp { get; set; }
}
var e1 = new Entity { IntProp = 2 };
var e2 = new Entity { StringProp = "hello" };
var client = new DatabaseClient("[email protected]", "password");
const string dbName = "IntegrationTests";
Console.WriteLine("Opening or creating database");
db = client.GetDatabase(dbName) ?? client.CreateDatabase(dbName); // databases are spreadsheets
const string tableName = "IntegrationTests";
Console.WriteLine("Opening or creating table");
table = db.GetTable<Entity>(tableName) ?? db.CreateTable<Entity>(tableName); // tables are worksheets
table.DeleteAll();
table.Add(e1);
table.Add(e2);
var r1 = table.Get(1);
Там также поставщик LINQ, что приводит к компании Google structured query operators:
var q = from r in table.AsQueryable()
where r.IntProp > -1000 && r.StringProp == "hello"
orderby r.IntProp
select r;
@Kiquenet Что значит? Последняя версия, которую я вижу в Google.GData. * - 2.2.0 http://www.nuget.org/packages/Google.GData.Documents/ –
https://developers.google.com/google-apps/spreadsheets/ API Versión 3.0 (OAuth и т. Д.) – Kiquenet
@Kiquenet Сообщите мне, когда Google обновляет свои библиотеки .NET. Но я думаю, что Google.GData. * 2.2.0 уже использует API v3. –
(июнь-ноябрь 2016) вопрос и его ответы теперь устарелый as: 1) GData APIs - это предыдущее поколение API Google. Хотя не все API GData устарели, all the latest Google APIs do неthe Google Data Protocol; и 2) есть new Google Sheets API v4 (также не GData).
Чтобы перейти отсюда, вы должны получить the Google APIs Client Library for .NET и использовать новейший Sheets API, который намного более мощный и гибкий, чем любой предыдущий API. Вот вам C# code sample, чтобы помочь вам начать работу. Также проверьте .NET reference docs for the Sheets API и .NET Google APIs Client Library developers guide.
Если у вас нет аллергии на Python (если вы, просто притворись, что это псевдокод;)), я сделал несколько видеороликов с более длинными, более «реальными» примерами использования API, с которым вы можете учиться и мигрировать на C# при желании:
- Migrating SQL data to a Sheet (код глубокое погружение post)
- Formatting text using the Sheets API (код глубокое погружение post)
- Generating slides from spreadsheet data (код глубокое погружение post)
- 1. Доступ к таблицам Google с помощью C# с использованием API данных Google невозможен с помощью Mono
- 2. Доступ к таблицам с дисками Google с помощью API дисков
- 3. Доступ к таблицам Google с помощью C# с использованием ADO.Net Data Providers?
- 4. Доступ к Google Api с помощью Nodejs
- 5. Как получить доступ к общедоступным электронным таблицам с помощью API-интерфейсов Google Docs C#?
- 6. Доступ к данным Google с помощью C++
- 7. Доступ к календарю Google с помощью google api
- 8. Доступ к Google Analytics с C#
- 9. Доступ к аналитике Google api с помощью ключа api
- 10. Как получить доступ к API прогноза Google с помощью Python?
- 11. Доступ к таблицам с лимитом
- 12. Доступ к удаленному каналу RSS с использованием API фидов Google
- 13. Доступ к облачному хранилищу Google с использованием hadoop FileSystem api
- 14. Доступ к API Google Calendar с Python
- 15. Доступ к таблицам Google Диска с удаленного сервера
- 16. Доступ к API DFP Google с помощью токена обновления OmniAuth
- 17. Доступ к закрытой Google Таблице с C#
- 18. Доступ к пользовательской информации с использованием API Google для .NET.
- 19. Доступ к напоминаниям Google Inbox с использованием API
- 20. Доступ к электронной таблице на python с использованием API Google
- 21. Доступ к Календарю Google с помощью API v3
- 22. доступ к контактам google с клиентом google api javascript - как?
- 23. Доступ к API данных Google через клиент API Google API в среде Google App Engine
- 24. Доступ к Picasa с Android - API данных Google
- 25. Доступ к API календаря Google с помощью OAuth2 на iPhone
- 26. Доступ к содержимому почтового ящика GMail с помощью google-api
- 27. Доступ к ведомым ведомым облачным хранилищам Google с помощью API
- 28. Доступ к API Карт Google для pageload с помощью Angular
- 29. Доступ к заметкам Google с помощью Android API (Java)
- 30. Обновление Google Token с использованием Google REST API в C#
Что следует использовать для строкового значения для нового SpreadsheetsService ("exampleCo-exampleApp-1'?)? не имеет значения, что я там вложил? Благодаря! –
Получить список таблиц: "SpreadsheetQuery query = new SpreadsheetQuery();" следует читать «Распространение фида = myService.Query (запрос);» Пытался отредактировать недостаточно символов! – BobF
_https: //developers.google.com/google-apps/spreadsheets/authorize_ *** Важно: OAuth 1.0 больше не поддерживается и будет отключен 5 мая 2015 года. Если ваше приложение использует OAuth 1.0, вам необходимо выполнить миграцию к OAuth 2.0, или ваше приложение перестанет функционировать. *** – Kiquenet