Форум программистов, компьютерный форум, киберфорум
C#: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 5

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

26.01.2018, 18:42. Показов 1580. Ответов 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
18262 / 14187 / 5366
Регистрация: 17.03.2014
Сообщений: 28,872
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru