0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 5

Google Api. Как запустить на другой машине?

26.01.2018, 18:42. Показов 1627. Ответов 4

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, разобраться с программой, которую я пытаюсь *создать* для удобства работы.
У меня она запускается, а у коллег нет. Что я должен добавить/поменять?
Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Windows.Forms;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data;
using Google.Apis.Services;
using Google.Apis.Util.Store;
 
namespace ItsEasy
{
    public partial class Form1 : Form
    {
        // If modifying these scopes, delete your previously saved credentials
        // at ~/.credentials/sheets.googleapis.com-dotnet-quickstart.json
        static string[] Scopes = { SheetsService.Scope.SpreadsheetsReadonly };
        static string ApplicationName = "ItsEasy";
        static string json = "{Текст кода client_secret}";
        String spreadsheetId = "Айди таблицы";
 
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void GT()
        {
            System.IO.File.WriteAllText(@"E:\client_secret.json", json);
 
            UserCredential credential;
            using (var stream =
                new FileStream(@"E:\client_secret.json", FileMode.Open, FileAccess.Read))
            {
                string credPath = System.Environment.GetFolderPath(
                    System.Environment.SpecialFolder.Personal);
                credPath = Path.Combine(credPath, ".credentials/sheets.googleapis.com-dotnet-quickstart.json");
 
                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    Scopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
                Console.WriteLine("Credential file saved to: " + credPath);
            }
 
            // Create Google Sheets API service.
            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            });
 
            // Define request parameters.
 
            String range = "Callex!C2:E";
            SpreadsheetsResource.ValuesResource.GetRequest request =
                    service.Spreadsheets.Values.Get(spreadsheetId, range);
 
            ValueRange response = request.Execute();
            IList<IList<Object>> values = response.Values;
 
            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    if (row[2].ToString() == "Активен")
                    {
                        textBox2.Text = textBox2.Text + row[0] + " " + row[1] + " " + row[2] + "\r\n";
                    }
                }
            }
            else
            {
                textBox2.Text = "Ничего нет. Странно...";
            }
 
            range = "Лист1!C2:E";
 
            request =
                    service.Spreadsheets.Values.Get(spreadsheetId, range);
 
            response = request.Execute();
            values = response.Values;
            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    if (row[2].ToString() == "Активен")
                    {
                        textBox1.Text = textBox1.Text + row[0] + " " + row[1] + " " + row[2] + "\r\n";
                    }
                }
            }
            else
            {
                textBox1.Text = "Ничего нет. Странно...";
            }            
        }
        private void TableUp()
        {
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Stop();
            textBox1.Clear();
            textBox2.Clear();
            GT();
            timer1.Start();
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.01.2018, 18:42
Ответы с готовыми решениями:

Как запустить программу с dll на другой машине?
Сделал class library, пытаюсь понять как развернуть программу на других машинах. 1. Возможно ли так скомпиллировать программу, она...

Запустить exe на другой машине
Понимаю что тема неоднократно поднималась,но проблема у меня не решается.Не запускается программа на другой машине.Убираю две галочки:Use...

Не могу запустить программу на другой машине
Здравствуйте! Применяю в своей программе OPC client &quot;prOPC Client&quot;. На машине где разрабатывается программа все работает как часы......

4
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 5
28.01.2018, 10:21  [ТС]
Может кто-то помочь?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18311 / 14235 / 5368
Регистрация: 17.03.2014
Сообщений: 28,905
Записей в блоге: 1
28.01.2018, 11:17
NickIAm, если .NET приложение "не запускается", то обычно это сопровождается исключением по названию, тексту и stacktrace которого можно начать строить догадки. Добавь протоколирование исключений в приложение чтобы понять почему приложение не запускается. С ходу можно предположить что проблема в жестко указанном пути E:\client_secret.json.
1
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 5
28.01.2018, 13:41  [ТС]
Прошу прощения, я неправильно выразился. У меня и коллег она запускается, но текст в textbox1/2 у них не отображается. Никаких ошибок не выдаётся.

Я думаю, что всё дело в самом Google доступе.
0
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 5
30.01.2018, 02:33  [ТС]
Решением стало использование ключа, вместо OAUTH и открытие доступа на чтение таблицы пользователям, у которых есть ссылка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.01.2018, 02:33
Помогаю со студенческими работами здесь

Google maps api - Построить маршрут из одной точки к другой
Здравствуйте, прошу помощи, поскольку толкового ответа не нашел. Делаю приложение с использованием Google Maps API V2. Надо построить...

Как запустить образ на виртуальной машине?
Работаю в VMware workstation с srv2000. Для настройки DNS мне нужен образ диска. Этот образ весит 3 гига, а на виртуалке нет стока места,...

Как запустить сайт на второй машине?
Здравствуйте. Нужна помощь. У меня есть один статический ip на нем висят несколько сайтов к примеру site1.ru и site2.ru, машина стоит...

Как запустить первую ASP на локальной машине?
Помогите новичку. Прочитала статью на форуме ASP на блюдечке. Все в принципе понятно, но как запустить этот сервер на своей локальной...

Как запустить скрипт на удалённой Debian машине
Друзья, появилась следующая задача: есть 2 рабочие станции, первая Debian с белым IP, вторая за NAT raspbian. На второй периодически...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru