• Google api где взять token.json и credentials.json?

    @apu3
    Ноябрь 2021

    Как я это делал при помощи Golang и quickstart от Google (ссылка на этот quickstart - https://developers.google.com/sheets/api/quickstart/go).

    Это не относится в случае других языков, но, вероятно, всё работает так, что вам нужен client_secret.json (вроде как, это то же самое, что credentials.json, но не уверен на все 100%), а token.json по идее так или иначе генерируется из client_secret.json.
    client_secret.json можно получить при помощи https://console.cloud.google.com/apis/credentials . (нажать кнопку "CREATE CREDENTIALS" -> "OAuth client ID" -> "выбрать тип приложения и название токена" -> "Нажать на кнопку Скачать")

    Пишу этот ответ, чтобы у людей была хоть какая-то дополнительная возможность понять, что и как можно сделать, а не "делайте так же, даже если вы программируете на C++/C#/Python/и так далее"

    1. Зайти на https://console.cloud.google.com/apis/credentials
    2. Нажать "CREATE CREDENTIALS"
    3. Выбрать "OAuth client ID"
    4. Выбрать необходимую опцию в "Application type" и так далее. Не знаю, какое именно значение это имеет.
    5. Скачать файл client_secret.json (тот же credentials.json, насколько я понимаю)
    6. Добавить client_secret.json в go QuickStart
    7. Запустить QuickStart. Запущенная программа в консоли попросит перейти по ссылке (ссылку программа даст там же, в консоли) и вставить в консоль код (код увидите, когда перейдёте по ссылке)
    8. Программа сгенерирует token.json
    Ответ написан
    Комментировать
  • Почему не подключается библиотека в clion?

    @apu3
    Код смотрите ниже, а пока теоретическая подоплёка всего этого:
    Если вы хотите разобраться, что такое make и CMake, то вам стоит прочитать:

    Сначала про make (make - это утилита, которая избавляет от необходимости каждый раз писать g++ main.cpp -o main -I ... -l ... итд):
    1. Просто о make - https://habr.com/ru/post/211751/
    2. Makefile для самых маленьких - https://habr.com/ru/post/155201/

    Затем про CMake (make файлы писать можно, но это не очень удобно и чревато ошибками из-за невнимательности. Поэтому создали CMake, который и используется в CLion):
    1. Введение в CMake - https://habr.com/ru/post/155467/

    Сам код, который должен решить проблему:

    cmake_minimum_required(VERSION 3.17)
    
    # TODO: Здесь указано название проекта. Поменяйте на свой!
    project(sqliteLearning)
    
    # Задаём стандарт C++ (в данном случае - C++ 14 года)
    set(CMAKE_CXX_STANDARD 14)
    
    # TODO: Здесь первое название - будущее название исполняемого файла (в моём 
    # случае - это sqliteLearning, вы можете выбрать любое), а второе название (main.cpp) - 
    # это файлы с исходным кодом, их может быть несколько)
    add_executable(sqliteLearning main.cpp)
    
    # Пытаемся найти SQLite3
    find_package (SQLite3)
    # Если нашли, то:
    if (SQLITE3_FOUND)
        # Сообщаем об успехе в консоль (это необязательно)
        message("Found sqlite3, and...")
        # (Указываем место, где будем искать заголовочный файл. ${SQLite3_INCLUDE_DIR} - 
        # это переменная, которая автоматически создаётся, если сработала команда find_package(SQLite3))
        include_directories(${SQLite3_INCLUDE_DIR})
        # Прилинковываем библиотеку SQLite3
        target_link_libraries (sqliteLearning ${SQLite3_LIBRARY})
    endif (SQLITE3_FOUND)
    
    # Следующие две опции могут помочь, если остальное не помогает, но помните, что это костыль
    #add_compile_options(-l sqlite3)
    # Нет нужды применять обе строчки одновременно
    #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -lsqlite3")
    Ответ написан
    Комментировать