Секреты клиента
Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Клиентская библиотека API Google для .NET использует файлы client_secrets.json
для хранения client_id
, client_secret
и других параметров OAuth 2.0.
Файл client_secrets.json
— это файл в формате JSON, содержащий идентификатор клиента, секрет клиента и другие параметры OAuth 2.0. Вот пример файла client_secrets.json
для веб-приложения:
{ "web": { "client_id": "asdfjasdljfasdkjf", "client_secret": "1912308409123890", "redirect_uris": ["https://www.example.com/oauth2callback"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
Вот пример файла client_secrets.json
для установленного приложения:
{ "installed": { "client_id": "837647042410-75ifg...usercontent.com", "client_secret":"asdlkfjaskd", "redirect_uris": ["http://localhost"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
Формат определяет один из двух типов идентификаторов клиентов:
-
web
: веб-приложение. -
installed
: Установленное приложение.
web
и installed
подобъекты имеют следующие обязательные элементы:
-
client_id
(строка): идентификатор клиента. -
client_secret
(строка): секрет клиента.
Все остальные члены этого файла являются необязательными, и клиентская библиотека .NET их не использует.
Мотивация
Традиционно поставщики конечных точек OAuth 2.0 ожидали, что те, кто использует их услуги, скопируют и вставят идентификатор клиента и секрет клиента со страницы регистрации в рабочий код. Этот метод подвержен ошибкам и дает неполное представление об информации, необходимой для работы OAuth 2.0. (OAuth 2.0 также требует знания всех конечных точек и настройки URI перенаправления.) Если поставщики услуг предоставляют загружаемые файлы client_secrets.json
, а клиентские библиотеки готовы использовать эти файлы, то реализация OAuth 2.0 будет проще и менее подвержена ошибкам.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-24 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-24 UTC."],[[["\u003cp\u003eThe Google APIs client library for .NET utilizes \u003ccode\u003eclient_secrets.json\u003c/code\u003e files to store OAuth 2.0 credentials like \u003ccode\u003eclient_id\u003c/code\u003e, \u003ccode\u003eclient_secret\u003c/code\u003e, and other parameters.\u003c/p\u003e\n"],["\u003cp\u003eThese JSON files define client ID types as either \u003ccode\u003eweb\u003c/code\u003e for web applications or \u003ccode\u003einstalled\u003c/code\u003e for installed applications, each requiring \u003ccode\u003eclient_id\u003c/code\u003e and \u003ccode\u003eclient_secret\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eUsing \u003ccode\u003eclient_secrets.json\u003c/code\u003e files simplifies OAuth 2.0 implementation by providing a centralized, downloadable configuration instead of manual entry, reducing errors.\u003c/p\u003e\n"]]],[],null,["The Google APIs client library for .NET uses\n`client_secrets.json` files for storing the\n`client_id`, `client_secret`, and other OAuth 2.0 parameters.\n\nA `client_secrets.json`\nfile is a [JSON](http://www.json.org/) formatted file\ncontaining the client ID, client secret, and other OAuth 2.0 parameters.\nHere is an example `client_secrets.json` file for a web application: \n\n```\n{\n \"web\": {\n \"client_id\": \"asdfjasdljfasdkjf\",\n \"client_secret\": \"1912308409123890\",\n \"redirect_uris\": [\"https://www.example.com/oauth2callback\"],\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://accounts.google.com/o/oauth2/token\"\n }\n}\n```\n\n\nHere is an example `client_secrets.json` file for an installed application: \n\n```\n{\n \"installed\": {\n \"client_id\": \"837647042410-75ifg...usercontent.com\",\n \"client_secret\":\"asdlkfjaskd\",\n \"redirect_uris\": [\"http://localhost\"],\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://accounts.google.com/o/oauth2/token\"\n }\n}\n```\n\n\nThe format defines one of two client ID types:\n\n- `web`: Web application.\n- `installed`: Installed application.\n\n\nThe `web` and `installed` sub-objects have\nthe following mandatory members:\n\n- `client_id` (string): The client ID.\n- `client_secret` (string): The client secret.\n\n\nAll the other members of this file are optional and\nthe .NET client library doesn't use them.\n\nMotivation\n\n\nTraditionally, providers of OAuth 2.0 endpoints have expected\nthose who use their services to copy and paste the client ID\nand client secret from a registration page into working code.\nThis method is error-prone and gives an incomplete picture\nof the information that is needed to get OAuth 2.0 working.\n(OAuth 2.0 also requires knowing all the endpoints,\nand configuring a redirect URI.)\n\nIf service providers provide downloadable `client_secrets.json`\nfiles, and client libraries are prepared to consume these files,\nthen implementing OAuth 2.0 will be easier and less prone to error."]]