#asp.net-mvc #asp.net-mvc-3 #google-apps
#asp.net-mvc #asp.net-mvc-3 #google-приложения
Вопрос:
Я пытаюсь вывести список личных контактов Google Mail в MVC 3, используя этот API:http://code.google.com/apis/contacts
http://code.google.com/apis/contacts/docs/3.0/developers_guide_dotnet.html#Retrieving
Мне нужна помощь с того, с чего начать при его внедрении. Я много раз перечитывал документацию, но для меня это просто не имеет смысла.
Я хочу вывести все контакты и отобразить их в индексном действии моего контроллера контактов.
Мы были бы весьма признательны за любую помощь в решении этого широкого вопроса.
Ответ №1:
Сначала получите некоторый пример кода, работающий на основе приведенного выше (РЕДАКТИРОВАНИЕ — фактически смотрите ниже) Затем создайте новую ViewModel с любыми полями в ней, которые вы хотите отобразить. Создайте строго типизированное представление для этой ViewModel в виде списка ContactsViewModel
(как бы вы его ни называли), чтобы в верхней части вашего представления его: @model IEnumerable<ContactsViewModel>
Создайте маршрут, чтобы указать URL-адрес на метод вашего контроллера, затем в вашем методе просто выполните запрос из Google и заполните его с помощью цикла, LINQ (или automapper и т.д.) вашего ContactsViewModel
и верните модель в представление.
Если у вас есть что-то более конкретное, дайте мне знать, и я углублюсь
По иронии судьбы, в их же коде есть несколько неправильно названных / отформатированных элементов : ) конечно, добавьте ссылки ниже (контакты, клиент, расширения) из C:Program Файлы Google SDK API данных Google папка Redist
использование системы; использование системы.Коллекции.Общий; использование System.Linq; использование System.Text; с помощью Google.GData.Контакты; с помощью Google.GData.Клиент; с помощью Google.GData.Extensions; с помощью Google.Контакты; пространство имен GoogleTests { классная программа { статическая пустота Main(строка[] аргументов) { Настройки запросов rs = новые настройки запросов ("MyApplication", "youraccount@gmail.com ", "yourpwd"); / В результате автоматической подкачки выполняется автоматическая подкачка для извлечения всех контактов rs.АвтоЗапуск = true; ContactsRequest cr = новый запрос ContactsRequest (rs); Feed<Контакт> f = cr.getContacts(); foreach (запись контакта в f.Entries) { если (запись.Имя != null) { Имя имя = entry.Name; если (!строка.IsNullOrEmpty(имя.Полное имя)) Консоль.Строка записи ("tt" имя.Полное имя); ещё Консоль.Строка записи ("t t (полное имя не найдено)"); если (!строка.IsNullOrEmpty(имя.Имя исправлено)) Консоль.Строка записи ("tt" имя.Исправление имени); ещё Консоль.Строка записи ("t t (префикс имени не найден)"); если (!строка.IsNullOrEmpty(имя.Заданное имя)) { строка givenNameToDisplay = name.Заданное имя; если (!строка.IsNullOrEmpty(имя.Дано имя пользователя)) Заданный параметр отображения = " (" имя.Дано имя пользователя ")"; Консоль.Строка записи ("tt" заданный параметр отображения); } ещё Консоль.Строка записи ("tt (имя не найдено)"); если (!строка.IsNullOrEmpty(имя.Дополнительное имя)) { строка additionalNameToDisplay = name.Дополнительное имя; если (строка.IsNullOrEmpty(имя.Дополнительная именная фонетика)) Дополнительный параметр отображения = " (" имя.Дополнительные параметры имен ")"; Консоль.Строка записи ("tt" additionalNameToDisplay); } ещё Консоль.Строка записи ("t t (дополнительное имя не найдено)"); если (!строка.IsNullOrEmpty(имя.Фамилия)) { строка familyNameToDisplay = name.Фамилия; если (!строка.IsNullOrEmpty(имя.Фамильная телефонная система)) familyNameToDisplay = " (" имя.FamilyNamePhonetics ")"; Консоль.Строка записи ("tt" familyNameToDisplay); } ещё Консоль.Строка записи ("t t (фамилия не найдена)"); если (!строка.IsNullOrEmpty(name.NameSuffix)) Консоль.Строка записи ("tt" name.NameSuffix); ещё Консоль.Строка записи ("t t (суффикс имени не найден)"); } ещё Консоль.Строка записи("t (имя не найдено)"); foreach (электронная почта в entry.Email) { Консоль.Строка записи ("t" email.Адрес); } } } } }
Комментарии:
1. Проблема в том, чтобы заставить работать некоторый пример кода, я знаю, что делать, когда я получу некоторый пример кода. Я просто не знаю, как собрать все это воедино.
2. хорошо — я опубликую здесь пошаговую инструкцию по короткому запуску api
3. Отлично, у меня есть этот код во вспомогательном файле, и все выглядит нормально. Теперь, как мне перенести эти контакты в мою базу данных?
4. это совершенно другой вопрос. Лично я бы использовал либо что-то вроде Entity Framework и создавал новые объекты entities (т.Е. Contact) и сохранял их, либо просто создавал вашу таблицу и вызывал хранимую процедуру для их сохранения — но.. это отдельный вопрос, чем то, что опубликовано. Если мой код помог, просто, пожалуйста, отметьте мой ответ как «отвеченный» в отношении первоначально заданного вопроса.