{"id":125780,"date":"2026-06-16T14:44:28","date_gmt":"2026-06-16T07:44:28","guid":{"rendered":"https:\/\/tino.vn\/blog\/?p=125780"},"modified":"2026-06-16T14:50:17","modified_gmt":"2026-06-16T07:50:17","slug":"ket-noi-google-workspace-voi-hermes-agent","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/ket-noi-google-workspace-voi-hermes-agent\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent chi ti\u1ebft A-Z"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Khi k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent, b\u1ea1n c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n nhi\u1ec1u t\u00e1c v\u1ee5 nh\u01b0 t\u00ecm email, \u0111\u1ecdc email, g\u1eedi ph\u1ea3n h\u1ed3i, ki\u1ec3m tra l\u1ecbch, t\u1ea1o s\u1ef1 ki\u1ec7n, \u0111\u1ecdc file Google Drive, ghi d\u1eef li\u1ec7u v\u00e0o Google Sheets ho\u1eb7c truy xu\u1ea5t danh b\u1ea1 t\u1eeb Google Contacts tr\u00ean c\u00e1c k\u00eanh nh\u1eafn tin quen thu\u1ed9c. \u0110\u00e2y l\u00e0 b\u01b0\u1edbc quan tr\u1ecdng n\u1ebfu b\u1ea1n mu\u1ed1n bi\u1ebfn Hermes Agent th\u00e0nh m\u1ed9t tr\u1ee3 l\u00fd AI c\u00f3 kh\u1ea3 n\u0103ng x\u1eed l\u00fd c\u00f4ng vi\u1ec7c th\u1ef1c t\u1ebf trong h\u1ec7 sinh th\u00e1i Google Workspace. C\u00f9ng Tino t\u00ecm hi\u1ec3u c\u00e1ch th\u1ef1c hi\u1ec7n qua b\u00e0i vi\u1ebft d\u01b0\u1edbi \u0111\u00e2y nh\u00e9!<\/strong><\/p>\n\n\n\n<h2 id=\"T\u1ea1i_sao_n\u00ean_k\u1ebft_n\u1ed1i_Google_Workspace_v\u1edbi_Hermes_Agent?\"><a id=\"post-125780-_cbpuknj7oz0o\"><\/a><strong>T\u1ea1i sao n\u00ean k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Vi\u1ec7c k\u1ebft n\u1ed1i Google Workspace gi\u00fap Hermes Agent c\u00f3 th\u1ec3 l\u00e0m vi\u1ec7c tr\u1ef1c ti\u1ebfp v\u1edbi d\u1eef li\u1ec7u v\u00e0 c\u00f4ng c\u1ee5 m\u00e0 doanh nghi\u1ec7p \u0111ang s\u1eed d\u1ee5ng h\u1eb1ng ng\u00e0y. Thay v\u00ec ph\u1ea3i m\u1edf t\u1eebng \u1ee9ng d\u1ee5ng Google ri\u00eang l\u1ebb, b\u1ea1n c\u00f3 th\u1ec3 y\u00eau c\u1ea7u Hermes Agent th\u1ef1c hi\u1ec7n c\u00e1c thao t\u00e1c th\u00f4ng qua c\u00e2u l\u1ec7nh t\u1ef1 nhi\u00ean.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  V\u00ed d\u1ee5, b\u1ea1n c\u00f3 th\u1ec3 y\u00eau c\u1ea7u Hermes Agent:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>T\u00ecm m\u1ed9t email c\u1ee5 th\u1ec3 trong Gmail.<\/li>\n\n\n\n<li>\u0110\u1ecdc n\u1ed9i dung email v\u00e0 t\u00f3m t\u1eaft l\u1ea1i.<\/li>\n\n\n\n<li>So\u1ea1n ho\u1eb7c ph\u1ea3n h\u1ed3i email.<\/li>\n\n\n\n<li>Ki\u1ec3m tra l\u1ecbch l\u00e0m vi\u1ec7c tr\u00ean Google Calendar.<\/li>\n\n\n\n<li>T\u1ea1o m\u1ed9t s\u1ef1 ki\u1ec7n m\u1edbi tr\u00ean Calendar.<\/li>\n\n\n\n<li>T\u00ecm file trong Google Drive.<\/li>\n\n\n\n<li>\u0110\u1ecdc n\u1ed9i dung Google Docs.<\/li>\n\n\n\n<li>Ghi d\u1eef li\u1ec7u v\u00e0o Google Sheets.<\/li>\n\n\n\n<li>Truy xu\u1ea5t danh b\u1ea1 t\u1eeb Google Contacts.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/ket-noi-google-workspace-voi-hermes-agent-1.png\" alt=\"T\u1ea1i sao n\u00ean k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent?\" class=\"wp-image-125812\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/ket-noi-google-workspace-voi-hermes-agent-1.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/ket-noi-google-workspace-voi-hermes-agent-1-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong>T\u1ea1i sao n\u00ean k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent?<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\n  Nh\u1edd \u0111\u00f3, Hermes Agent kh\u00f4ng ch\u1ec9 l\u00e0 m\u1ed9t chatbot tr\u1ea3 l\u1eddi c\u00e2u h\u1ecfi, m\u00e0 c\u00f3 th\u1ec3 tr\u1edf th\u00e0nh tr\u1ee3 l\u00fd AI h\u1ed7 tr\u1ee3 c\u00f4ng vi\u1ec7c th\u1ef1c t\u1ebf trong m\u00f4i tr\u01b0\u1eddng Google Workspace.\n<\/p>\n\n\n\n<h2 id=\"Th\u00f4ng_tin_c\u1ea5u_h\u00ecnh_c\u1ea7n_n\u1eafm_tr\u01b0\u1edbc_khi_th\u1ef1c_hi\u1ec7n\"><a id=\"post-125780-_dblpgdlesdcj\"><\/a><strong>Th\u00f4ng tin c\u1ea5u h\u00ecnh c\u1ea7n n\u1eafm tr\u01b0\u1edbc khi th\u1ef1c hi\u1ec7n<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, Hermes Agent s\u1ebd k\u1ebft n\u1ed1i Google Workspace b\u1eb1ng OAuth 2.0 d\u1ea1ng Desktop App.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  B\u1ea1n c\u1ea7n chu\u1ea9n b\u1ecb:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>T\u00e0i kho\u1ea3n Google ho\u1eb7c Google Workspace c\u1ea7n k\u1ebft n\u1ed1i.<\/li>\n\n\n\n<li>Quy\u1ec1n truy c\u1eadp Google Cloud Console.<\/li>\n\n\n\n<li>M\u00e1y ch\u1ee7\/VPS \u0111\u00e3 c\u00e0i Hermes Agent.<\/li>\n\n\n\n<li>Quy\u1ec1n SSH v\u00e0o m\u00e1y ch\u1ee7 Hermes.<\/li>\n\n\n\n<li>Quy\u1ec1n ch\u1ea1y l\u1ec7nh Python tr\u00ean m\u00e1y ch\u1ee7.<br>  <\/li>\n<\/ul>\n\n\n\n<h2 id=\"H\u01b0\u1edbng_d\u1eabn_k\u1ebft_n\u1ed1i_Google_Workspace_v\u1edbi_Hermes_Agent\"><a id=\"post-125780-_6d97qxak2hjh\"><\/a><strong>H\u01b0\u1edbng d\u1eabn k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent<\/strong><\/h2>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_1:_Truy_c\u1eadp_Google_Cloud_Console\"><a id=\"post-125780-_4nrm87cahhqa\"><\/a><strong>B\u01b0\u1edbc 1: Truy c\u1eadp Google Cloud Console<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1ea7u ti\u00ean, b\u1ea1n c\u1ea7n truy c\u1eadp <a href=\"https:\/\/console.cloud.google.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Google Cloud Console<\/a> b\u1eb1ng t\u00e0i kho\u1ea3n Google mu\u1ed1n d\u00f9ng \u0111\u1ec3 c\u1ea5u h\u00ecnh OAuth.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi \u0111\u0103ng nh\u1eadp, h\u00e3y ki\u1ec3m tra g\u00f3c tr\u00ean c\u00f9ng c\u1ee7a giao di\u1ec7n \u0111\u1ec3 ch\u1eafc ch\u1eafn b\u1ea1n \u0111ang ch\u1ecdn \u0111\u00fang t\u00e0i kho\u1ea3n Google.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1428\" height=\"804\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-1.png\" alt=\"B\u01b0\u1edbc 1: Truy c\u1eadp Google Cloud Console\" class=\"wp-image-125781\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-1.png 1428w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-1-300x169.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-1-1024x577.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-1-768x432.png 768w\" sizes=\"(max-width: 1428px) 100vw, 1428px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 1: Truy c\u1eadp Google Cloud Console<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu b\u1ea1n \u0111ang d\u00f9ng t\u00e0i kho\u1ea3n Google Workspace c\u1ee7a doanh nghi\u1ec7p, h\u00e3y \u0111\u0103ng nh\u1eadp b\u1eb1ng \u0111\u00fang email Workspace c\u1ea7n c\u1ea5p quy\u1ec1n cho Hermes Agent.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_2:_Ch\u1ecdn_ho\u1eb7c_t\u1ea1o_Google_Cloud_Project\"><a id=\"post-125780-_rtnpl4fcdnad\"><\/a><strong>B\u01b0\u1edbc 2: Ch\u1ecdn ho\u1eb7c t\u1ea1o Google Cloud Project<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Google y\u00eau c\u1ea7u c\u00e1c API, OAuth client v\u00e0 th\u00f4ng tin x\u00e1c th\u1ef1c ph\u1ea3i n\u1eb1m trong m\u1ed9t Google Cloud Project. V\u00ec v\u1eady, tr\u01b0\u1edbc khi b\u1eadt API, b\u1ea1n c\u1ea7n ch\u1ecdn project hi\u1ec7n c\u00f3 ho\u1eb7c t\u1ea1o project m\u1edbi.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  T\u1ea1i Google Cloud Console, nh\u1ea5n v\u00e0o <strong>khu v\u1ef1c ch\u1ecdn project<\/strong> \u1edf thanh tr\u00ean c\u00f9ng. Sau \u0111\u00f3, b\u1ea1n c\u00f3 th\u1ec3 ch\u1ecdn m\u1ed9t project \u0111\u00e3 c\u00f3 ho\u1eb7c t\u1ea1o project m\u1edbi.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"962\" height=\"545\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-2.png\" alt=\"B\u01b0\u1edbc 2: Ch\u1ecdn ho\u1eb7c t\u1ea1o Google Cloud Project\" class=\"wp-image-125782\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-2.png 962w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-2-300x170.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-2-768x435.png 768w\" sizes=\"(max-width: 962px) 100vw, 962px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 2: Ch\u1ecdn ho\u1eb7c t\u1ea1o Google Cloud Project<\/strong><\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1468\" height=\"811\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-3.png\" alt=\"B\u01b0\u1edbc 2: Ch\u1ecdn ho\u1eb7c t\u1ea1o Google Cloud Project\" class=\"wp-image-125783\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-3.png 1468w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-3-300x166.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-3-1024x566.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-3-768x424.png 768w\" sizes=\"(max-width: 1468px) 100vw, 1468px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 2: Ch\u1ecdn ho\u1eb7c t\u1ea1o Google Cloud Project<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu t\u1ea1o project m\u1edbi, h\u00e3y th\u1ef1c hi\u1ec7n nh\u01b0 sau:\n<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ch\u1ecdn <strong>New Project<\/strong>.<\/li>\n\n\n\n<li>Nh\u1eadp t\u00ean project, v\u00ed d\u1ee5:<em> Hermes Google Workspace<\/em><\/li>\n\n\n\n<li>Nh\u1ea5n <strong>Create<\/strong>.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1089\" height=\"556\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-4.png\" alt=\"B\u01b0\u1edbc 2: Ch\u1ecdn ho\u1eb7c t\u1ea1o Google Cloud Project\" class=\"wp-image-125784\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-4.png 1089w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-4-300x153.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-4-1024x523.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-4-768x392.png 768w\" sizes=\"(max-width: 1089px) 100vw, 1089px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 2: Ch\u1ecdn ho\u1eb7c t\u1ea1o Google Cloud Project<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Ch\u1edd Google t\u1ea1o project xong, b\u1ea1n ch\u1ecdn l\u1ea1i project v\u1eeba t\u1ea1o \u0111\u1ec3 ti\u1ebfp t\u1ee5c c\u1ea5u h\u00ecnh.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1598\" height=\"862\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-5.png\" alt=\"B\u01b0\u1edbc 2: Ch\u1ecdn ho\u1eb7c t\u1ea1o Google Cloud Project\" class=\"wp-image-125785\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-5.png 1598w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-5-300x162.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-5-1024x552.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-5-768x414.png 768w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-5-1536x829.png 1536w\" sizes=\"(max-width: 1598px) 100vw, 1598px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 2: Ch\u1ecdn ho\u1eb7c t\u1ea1o Google Cloud Project<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L\u01b0u \u00fd:<\/strong> T\u1ea5t c\u1ea3 API v\u00e0 OAuth client \u1edf c\u00e1c b\u01b0\u1edbc sau c\u1ea7n \u0111\u01b0\u1ee3c t\u1ea1o trong \u0111\u00fang project n\u00e0y. N\u1ebfu ch\u1ecdn nh\u1ea7m project, Hermes Agent c\u00f3 th\u1ec3 kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng \u0111\u00fang v\u1edbi th\u00f4ng tin x\u00e1c th\u1ef1c \u0111\u00e3 t\u1ea3i v\u1ec1.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_3:_M\u1edf_API_Library_trong_Google_Cloud\"><a id=\"post-125780-_d7vc58ggpe3e\"><\/a><strong>B\u01b0\u1edbc 3: M\u1edf API Library trong Google Cloud<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi \u0111\u00e3 ch\u1ecdn \u0111\u00fang project, b\u1ea1n c\u1ea7n v\u00e0o API Library \u0111\u1ec3 b\u1eadt c\u00e1c API c\u1ea7n thi\u1ebft.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Truy c\u1eadp nhanh API Library t\u1ea1i: <a href=\"https:\/\/console.cloud.google.com\/apis\/library\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/console.cloud.google.com\/apis\/library<\/a> \n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Ho\u1eb7c thao t\u00e1c th\u1ee7 c\u00f4ng tr\u00ean Google Cloud Console:\n<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>M\u1edf menu \u0111i\u1ec1u h\u01b0\u1edbng b\u00ean tr\u00e1i.<\/li>\n\n\n\n<li>Ch\u1ecdn <strong>APIs &amp; Services<\/strong>.<\/li>\n\n\n\n<li>Ch\u1ecdn <strong>Library<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L\u01b0u \u00fd: <\/strong>\u0110\u1ea3m b\u1ea3o project \u0111ang ch\u1ecdn l\u00e0 project d\u00f9ng cho Hermes Agent.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1302\" height=\"840\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-6.png\" alt=\"B\u01b0\u1edbc 3: M\u1edf API Library trong Google Cloud\" class=\"wp-image-125786\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-6.png 1302w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-6-300x194.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-6-1024x661.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-6-768x495.png 768w\" sizes=\"(max-width: 1302px) 100vw, 1302px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 3: M\u1edf API Library trong Google Cloud<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  API Library l\u00e0 n\u01a1i b\u1ea1n t\u00ecm v\u00e0 k\u00edch ho\u1ea1t c\u00e1c API c\u1ee7a Google. Hermes Agent ch\u1ec9 c\u00f3 th\u1ec3 g\u1ecdi nh\u1eefng d\u1ecbch v\u1ee5 \u0111\u00e3 \u0111\u01b0\u1ee3c b\u1eadt API trong project.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_4:_B\u1eadt_Gmail_API,_Google_Calendar_API,_Google_Drive_API,_Google_Sheets_API,_Google_Docs_API_v\u00e0_Google_People_API_\"><a id=\"post-125780-_qz39novydcy9\"><\/a><strong>B\u01b0\u1edbc 4: B\u1eadt Gmail API, Google Calendar API, Google Drive API, Google Sheets API, Google Docs API v\u00e0 Google People API <\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Trong API Library, th\u1ef1c hi\u1ec7n nh\u01b0 sau: \n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Nh\u1eadp t\u1eeb kh\u00f3a (v\u00ed d\u1ee5: <strong>Gmail API<\/strong>) -&gt; Ch\u1ecdn k\u1ebft qu\u1ea3 -&gt; Nh\u1ea5n <strong>Enable<\/strong> -&gt; Ch\u1edd Google b\u1eadt API cho project.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1575\" height=\"758\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-7.png\" alt=\"B\u01b0\u1edbc 4: B\u1eadt Gmail API, Google Calendar API, Google Drive API, Google Sheets API, Google Docs API v\u00e0 Google People API\" class=\"wp-image-125787\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-7.png 1575w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-7-300x144.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-7-1024x493.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-7-768x370.png 768w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-7-1536x739.png 1536w\" sizes=\"(max-width: 1575px) 100vw, 1575px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 4: B\u1eadt Gmail API, Google Calendar API, Google Drive API, Google Sheets API, Google Docs API v\u00e0 Google People API<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"897\" height=\"439\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-8.png\" alt=\"B\u01b0\u1edbc 4: B\u1eadt Gmail API, Google Calendar API, Google Drive API, Google Sheets API, Google Docs API v\u00e0 Google People API\" class=\"wp-image-125788\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-8.png 897w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-8-300x147.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-8-768x376.png 768w\" sizes=\"(max-width: 897px) 100vw, 897px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 4: B\u1eadt Gmail API, Google Calendar API, Google Drive API, Google Sheets API, Google Docs API v\u00e0 Google People API<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi b\u1eadt th\u00e0nh c\u00f4ng, n\u00fat <strong>Enable<\/strong> s\u1ebd chuy\u1ec3n sang tr\u1ea1ng th\u00e1i \u0111\u00e3 k\u00edch ho\u1ea1t ho\u1eb7c giao di\u1ec7n s\u1ebd hi\u1ec3n th\u1ecb trang qu\u1ea3n l\u00fd API. \n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1520\" height=\"730\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-9.png\" alt=\"B\u01b0\u1edbc 4: B\u1eadt Gmail API, Google Calendar API, Google Drive API, Google Sheets API, Google Docs API v\u00e0 Google People API\" class=\"wp-image-125789\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-9.png 1520w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-9-300x144.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-9-1024x492.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-9-768x369.png 768w\" sizes=\"(max-width: 1520px) 100vw, 1520px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 4: B\u1eadt Gmail API, Google Calendar API, Google Drive API, Google Sheets API, Google Docs API v\u00e0 Google People API<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Th\u1ef1c hi\u1ec7n l\u1ea7n l\u01b0\u1ee3t cho c\u00e1c API: <\/em><strong><em>Google Calendar API, Google Drive API, Google Sheets API, Google Docs API v\u00e0 Google People API.<\/em><\/strong><\/p>\n<\/blockquote>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_5:_Ki\u1ec3m_tra_l\u1ea1i_danh_s\u00e1ch_API_\u0111\u00e3_b\u1eadt\"><a id=\"post-125780-_mzh8nhkmnrwm\"><\/a><strong>B\u01b0\u1edbc 5: Ki\u1ec3m tra l\u1ea1i danh s\u00e1ch API \u0111\u00e3 b\u1eadt<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi b\u1eadt xong c\u00e1c API, b\u1ea1n n\u00ean ki\u1ec3m tra l\u1ea1i \u0111\u1ec3 tr\u00e1nh thi\u1ebfu API.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  T\u1eeb Google Cloud Console, v\u00e0o <strong>APIs &amp; Services<\/strong> -&gt; ch\u1ecdn <strong>Enabled APIs &amp; services<\/strong>.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1279\" height=\"827\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-10.png\" alt=\"B\u01b0\u1edbc 5: Ki\u1ec3m tra l\u1ea1i danh s\u00e1ch API \u0111\u00e3 b\u1eadt\" class=\"wp-image-125790\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-10.png 1279w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-10-300x194.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-10-1024x662.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-10-768x497.png 768w\" sizes=\"(max-width: 1279px) 100vw, 1279px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 5: Ki\u1ec3m tra l\u1ea1i danh s\u00e1ch API \u0111\u00e3 b\u1eadt<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Ki\u1ec3m tra xem c\u00e1c API trong danh s\u00e1ch tr\u00ean \u0111\u00e3 xu\u1ea5t hi\u1ec7n hay ch\u01b0a. N\u1ebfu thi\u1ebfu API n\u00e0o, h\u00e3y quay l\u1ea1i API Library \u0111\u1ec3 b\u1eadt b\u1ed5 sung.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_6:_C\u1ea5u_h\u00ecnh_OAuth_consent_screen\"><a id=\"post-125780-_xe1l9lp2y29r\"><\/a><strong>B\u01b0\u1edbc 6: C\u1ea5u h\u00ecnh OAuth consent screen<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Tr\u01b0\u1edbc khi t\u1ea1o OAuth client, b\u1ea1n c\u1ea7n c\u1ea5u h\u00ecnh m\u00e0n h\u00ecnh \u0111\u1ed3ng \u00fd OAuth. \u0110\u00e2y l\u00e0 m\u00e0n h\u00ecnh Google hi\u1ec3n th\u1ecb khi b\u1ea1n \u0111\u0103ng nh\u1eadp v\u00e0 c\u1ea5p quy\u1ec1n cho Hermes Agent.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Truy c\u1eadp nhanh khu v\u1ef1c c\u1ea5u h\u00ecnh OAuth t\u1ea1i: <a href=\"https:\/\/console.cloud.google.com\/auth\/overview\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/console.cloud.google.com\/auth\/overview<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Ho\u1eb7c trong Google Cloud Console, v\u00e0o ph\u1ea7n li\u00ean quan \u0111\u1ebfn <strong>Google Auth Platform<\/strong> ho\u1eb7c <strong>OAuth consent screen<\/strong>.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1591\" height=\"859\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-11.png\" alt=\"B\u01b0\u1edbc 6: C\u1ea5u h\u00ecnh OAuth consent screen\" class=\"wp-image-125791\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-11.png 1591w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-11-300x162.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-11-1024x553.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-11-768x415.png 768w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-11-1536x829.png 1536w\" sizes=\"(max-width: 1591px) 100vw, 1591px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 6: C\u1ea5u h\u00ecnh OAuth consent screen<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  T\u1ea1i \u0111\u00e2y, b\u1ea1n c\u1ea7n \u0111i\u1ec1n c\u00e1c th\u00f4ng tin c\u01a1 b\u1ea3n nh\u01b0:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>App name: <\/strong>t\u00ean \u1ee9ng d\u1ee5ng hi\u1ec3n th\u1ecb tr\u00ean m\u00e0n h\u00ecnh c\u1ea5p quy\u1ec1n, v\u00ed d\u1ee5: Hermes Agent<\/li>\n\n\n\n<li><strong>User support email: <\/strong>email h\u1ed7 tr\u1ee3 ng\u01b0\u1eddi d\u00f9ng.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1133\" height=\"690\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-12.png\" alt=\"B\u01b0\u1edbc 6: C\u1ea5u h\u00ecnh OAuth consent screen\" class=\"wp-image-125792\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-12.png 1133w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-12-300x183.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-12-1024x624.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-12-768x468.png 768w\" sizes=\"(max-width: 1133px) 100vw, 1133px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 6: C\u1ea5u h\u00ecnh OAuth consent screen<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Audience: <\/strong>ch\u1ecdn <strong>External<\/strong> \n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"850\" height=\"630\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-13.png\" alt=\"B\u01b0\u1edbc 6: C\u1ea5u h\u00ecnh OAuth consent screen\" class=\"wp-image-125793\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-13.png 850w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-13-300x222.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-13-768x569.png 768w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 6: C\u1ea5u h\u00ecnh OAuth consent screen<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contact information: <\/strong>email li\u00ean h\u1ec7 c\u1ee7a nh\u00e0 ph\u00e1t tri\u1ec3n.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"959\" height=\"604\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-14.png\" alt=\"B\u01b0\u1edbc 6: C\u1ea5u h\u00ecnh OAuth consent screen\" class=\"wp-image-125794\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-14.png 959w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-14-300x189.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-14-768x484.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 6: C\u1ea5u h\u00ecnh OAuth consent screen<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Cu\u1ed1i c\u00f9ng, nh\u1ea5n <strong>Create<\/strong> \u0111\u1ec3 ho\u00e0n t\u1ea5t t\u1ea1o \u1ee9ng d\u1ee5ng.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu b\u1ea1n ch\u1ec9 d\u00f9ng n\u1ed9i b\u1ed9 ho\u1eb7c \u0111ang th\u1eed nghi\u1ec7m, c\u00f3 th\u1ec3 \u0111\u1ec3 \u1ee9ng d\u1ee5ng \u1edf tr\u1ea1ng th\u00e1i <strong>Testing<\/strong>. Khi \u1ee9ng d\u1ee5ng \u1edf tr\u1ea1ng th\u00e1i Testing, b\u1ea1n c\u1ea7n th\u00eam t\u00e0i kho\u1ea3n Google c\u1ee7a m\u00ecnh v\u00e0o danh s\u00e1ch <strong>Test users<\/strong>.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_7:_Th\u00eam_test_user_n\u1ebfu_app_\u0111ang_\u1edf_Testing\"><a id=\"post-125780-_faivgddk8o0v\"><\/a><strong>B\u01b0\u1edbc 7: Th\u00eam test user n\u1ebfu app \u0111ang \u1edf Testing<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu OAuth app \u0111ang \u1edf tr\u1ea1ng th\u00e1i Testing, ch\u1ec9 nh\u1eefng t\u00e0i kho\u1ea3n n\u1eb1m trong danh s\u00e1ch test users m\u1edbi c\u00f3 th\u1ec3 \u0111\u0103ng nh\u1eadp v\u00e0 c\u1ea5p quy\u1ec1n.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Truy c\u1eadp nhanh trang Audience\/Test users t\u1ea1i: <a href=\"https:\/\/console.cloud.google.com\/auth\/audience\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/console.cloud.google.com\/auth\/audience<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau \u0111\u00f3 th\u1ef1c hi\u1ec7n:\n<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ch\u1ecdn \u0111\u00fang project Google Cloud.<\/li>\n\n\n\n<li>T\u00ecm ph\u1ea7n <strong>Test users<\/strong>.<\/li>\n\n\n\n<li>Nh\u1ea5n <strong>Add users<\/strong>.<\/li>\n\n\n\n<li>Nh\u1eadp email Google mu\u1ed1n d\u00f9ng \u0111\u1ec3 k\u1ebft n\u1ed1i Hermes Agent.<\/li>\n\n\n\n<li>L\u01b0u l\u1ea1i c\u1ea5u h\u00ecnh.<br><\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1204\" height=\"733\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-15.png\" alt=\"B\u01b0\u1edbc 7: Th\u00eam test user n\u1ebfu app \u0111ang \u1edf Testing\" class=\"wp-image-125795\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-15.png 1204w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-15-300x183.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-15-1024x623.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-15-768x468.png 768w\" sizes=\"(max-width: 1204px) 100vw, 1204px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 7: Th\u00eam test user n\u1ebfu app \u0111ang \u1edf Testing<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  V\u00ed d\u1ee5, n\u1ebfu b\u1ea1n mu\u1ed1n c\u1ea5p quy\u1ec1n b\u1eb1ng email c\u00f4ng vi\u1ec7c, h\u00e3y th\u00eam \u0111\u00fang email \u0111\u00f3 v\u00e0o danh s\u00e1ch test users.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu b\u1ecf qua b\u01b0\u1edbc n\u00e0y, khi \u0111\u0103ng nh\u1eadp OAuth, Google c\u00f3 th\u1ec3 b\u00e1o \u1ee9ng d\u1ee5ng ch\u01b0a cho ph\u00e9p t\u00e0i kho\u1ea3n n\u00e0y truy c\u1eadp.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_8:_T\u1ea1o_OAuth_client_ID\"><a id=\"post-125780-_mzwa65rcu7ln\"><\/a><strong>B\u01b0\u1edbc 8: T\u1ea1o OAuth client ID<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi b\u1eadt API v\u00e0 c\u1ea5u h\u00ecnh OAuth consent screen, b\u1ea1n c\u1ea7n t\u1ea1o OAuth client ID cho Hermes Agent.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Truy c\u1eadp nhanh trang Credentials t\u1ea1i: <a href=\"https:\/\/console.cloud.google.com\/apis\/credentials\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/console.cloud.google.com\/apis\/credentials<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau \u0111\u00f3 th\u1ef1c hi\u1ec7n theo c\u00e1c b\u01b0\u1edbc sau:\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  V\u00e0o <strong>APIs &amp; Services<\/strong> -&gt; ch\u1ecdn <strong>Credentials<\/strong> -&gt; Nh\u1ea5n <strong>Create Credentials<\/strong>.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1318\" height=\"768\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-16.png\" alt=\"B\u01b0\u1edbc 8: T\u1ea1o OAuth client ID\" class=\"wp-image-125796\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-16.png 1318w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-16-300x175.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-16-1024x597.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-16-768x448.png 768w\" sizes=\"(max-width: 1318px) 100vw, 1318px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 8: T\u1ea1o OAuth client ID<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Ch\u1ecdn <strong>OAuth client ID<\/strong>.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1051\" height=\"619\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-17.png\" alt=\"B\u01b0\u1edbc 8: T\u1ea1o OAuth client ID\" class=\"wp-image-125797\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-17.png 1051w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-17-300x177.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-17-1024x603.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-17-768x452.png 768w\" sizes=\"(max-width: 1051px) 100vw, 1051px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 8: T\u1ea1o OAuth client ID<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  T\u1ea1i m\u1ee5c <strong>Application type<\/strong>, ch\u1ecdn <strong>Desktop app<\/strong>. Sau \u0111\u00f3, \u0111\u1eb7t t\u00ean cho OAuth client, v\u00ed d\u1ee5: <em>Hermes Agent Desktop<\/em>.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"899\" height=\"522\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-18.png\" alt=\"B\u01b0\u1edbc 8: T\u1ea1o OAuth client ID\" class=\"wp-image-125798\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-18.png 899w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-18-300x174.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-18-768x446.png 768w\" sizes=\"(max-width: 899px) 100vw, 899px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 8: T\u1ea1o OAuth client ID<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Nh\u1ea5n <strong>Create<\/strong> \u0111\u1ec3 t\u1ea1o.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi t\u1ea1o xong, Google s\u1ebd t\u1ea1o OAuth client cho project. \u0110\u00e2y l\u00e0 th\u00f4ng tin Hermes Agent s\u1ebd d\u00f9ng \u0111\u1ec3 b\u1eaft \u0111\u1ea7u qu\u00e1 tr\u00ecnh \u0111\u0103ng nh\u1eadp OAuth.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_9:_T\u1ea3i_file_JSON_client_secret\"><a id=\"post-125780-_2ovdn3b17tgw\"><\/a><strong>B\u01b0\u1edbc 9: T\u1ea3i file JSON client secret<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi t\u1ea1o OAuth client ID, Google s\u1ebd cho ph\u00e9p b\u1ea1n t\u1ea3i file JSON ch\u1ee9a th\u00f4ng tin client.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  B\u1ea1n h\u00e3y nh\u1ea5n <strong>Download JSON<\/strong> \u0111\u1ec3 t\u1ea3i file v\u1ec1 m\u00e1y.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1256\" height=\"733\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-19.png\" alt=\"B\u01b0\u1edbc 9: T\u1ea3i file JSON client secret\" class=\"wp-image-125799\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-19.png 1256w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-19-300x175.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-19-1024x598.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-19-768x448.png 768w\" sizes=\"(max-width: 1256px) 100vw, 1256px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 9: T\u1ea3i file JSON client secret<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  File n\u00e0y th\u01b0\u1eddng c\u00f3 t\u00ean d\u1ea1ng: <em>client_secret_xxxxxxxxx.apps.googleusercontent.com.json<\/em>\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  B\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ed5i t\u00ean file cho d\u1ec5 qu\u1ea3n l\u00fd, v\u00ed d\u1ee5: <em>hermes-google-client-secret<\/em>\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"891\" height=\"499\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-20.png\" alt=\"B\u01b0\u1edbc 9: T\u1ea3i file JSON client secret\" class=\"wp-image-125800\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-20.png 891w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-20-300x168.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-20-768x430.png 768w\" sizes=\"(max-width: 891px) 100vw, 891px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 9: T\u1ea3i file JSON client secret<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_10:_Import_client_secret_v\u00e0o_Hermes_Agent\"><a id=\"post-125780-_urdraujq9vi6\"><\/a><strong>B\u01b0\u1edbc 10: Import client secret v\u00e0o Hermes Agent<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu b\u1ea1n d\u00f9ng Windows PowerShell ho\u1eb7c Terminal tr\u00ean m\u00e1y t\u00ednh, ch\u1ea1y l\u1ec7nh d\u1ea1ng: \n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>scp \"C:\\Users\\YourName\\Downloads\\hermes-google-client-secret.json\" root@IP_VPS:\/root\/hermes-google-client-secret.json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Thay: \n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>YourName<\/strong> b\u1eb1ng t\u00ean thi\u1ebft b\u1ecb.<\/li>\n\n\n\n<li><strong>IP_VPS<\/strong> b\u1eb1ng IP th\u1eadt c\u1ee7a VPS.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\n  V\u00ed d\u1ee5:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>scp \"C:\\Users\\ADMIN\\Downloads\\hermes-google-client-secret.json\" root@103.142.25.84:\/root\/hermes-google-client-secret.json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Nh\u1eadp m\u1eadt kh\u1ea9u VPS khi \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1857\" height=\"809\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-21.png\" alt=\"B\u01b0\u1edbc 10: Import client secret v\u00e0o Hermes Agent\" class=\"wp-image-125801\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-21.png 1857w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-21-300x131.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-21-1024x446.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-21-768x335.png 768w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-21-1536x669.png 1536w\" sizes=\"(max-width: 1857px) 100vw, 1857px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 10: Import client secret v\u00e0o Hermes Agent<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sau \u0111\u00f3 SSH l\u1ea1i VPS v\u00e0 ki\u1ec3m tra. <em>N\u1ebfu ch\u01b0a bi\u1ebft c\u00e1ch SSH v\u00e0o VPS, b\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o b\u00e0i vi\u1ebft: <\/em><a href=\"https:\/\/tino.vn\/blog\/docs\/su-dung-phan-mem-xshell-ket-noi-ssh-toi-vps\/\" target=\"_blank\" rel=\"noreferrer noopener\"><em>H\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng ph\u1ea7n m\u1ec1m Xshell k\u1ebft n\u1ed1i SSH t\u1edbi VPS<\/em><\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -la \/root\/hermes-google-client-secret.json<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1048\" height=\"553\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-22.png\" alt=\"B\u01b0\u1edbc 10: Import client secret v\u00e0o Hermes Agent\" class=\"wp-image-125802\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-22.png 1048w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-22-300x158.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-22-1024x540.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-22-768x405.png 768w\" sizes=\"(max-width: 1048px) 100vw, 1048px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 10: Import client secret v\u00e0o Hermes Agent<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu \u0111\u00e3 c\u00f3 file, b\u1ea1n ch\u1ea1y l\u1ec7nh sau \u0111\u1ec3 import:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 ~\/.hermes\/skills\/productivity\/google-workspace\/scripts\/setup.py \\\n\n--client-secret \/root\/hermes-google-client-secret.json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu th\u00e0nh c\u00f4ng, b\u1ea1n s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c k\u1ebft qu\u1ea3:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>OK: Client secret saved to \/root\/.hermes\/google_client_secret.json<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"925\" height=\"376\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-23.png\" alt=\"B\u01b0\u1edbc 10: Import client secret v\u00e0o Hermes Agent\" class=\"wp-image-125803\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-23.png 925w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-23-300x122.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-23-768x312.png 768w\" sizes=\"(max-width: 925px) 100vw, 925px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 10: Import client secret v\u00e0o Hermes Agent<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 Hermes Agent \u0111\u00e3 l\u01b0u client secret v\u00e0o \u0111\u00fang v\u1ecb tr\u00ed: <strong>\/root\/.hermes\/google_client_secret.json<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  T\u1eeb b\u01b0\u1edbc n\u00e0y tr\u1edf \u0111i, Hermes Agent \u0111\u00e3 c\u00f3 th\u00f4ng tin OAuth client \u0111\u1ec3 t\u1ea1o link \u0111\u0103ng nh\u1eadp Google.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_11:_T\u1ea1o_m\u00f4i_tr\u01b0\u1eddng_Python_ri\u00eang_cho_Google_Workspace\"><a id=\"post-125780-_nrvnobft3sgt\"><\/a><strong>B\u01b0\u1edbc 11: T\u1ea1o m\u00f4i tr\u01b0\u1eddng Python ri\u00eang cho Google Workspace<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  \u0110\u1ec3 ch\u1ea1y quy tr\u00ecnh x\u00e1c th\u1ef1c \u1ed5n \u0111\u1ecbnh h\u01a1n, b\u1ea1n c\u00f3 th\u1ec3 t\u1ea1o m\u00f4i tr\u01b0\u1eddng Python ri\u00eang b\u1eb1ng l\u1ec7nh:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 -m venv \/root\/.hermes\/google-workspace-venv<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\n  M\u00f4i tr\u01b0\u1eddng n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 ch\u1ea1y c\u00e1c l\u1ec7nh x\u00e1c th\u1ef1c Google Workspace trong nh\u1eefng b\u01b0\u1edbc ti\u1ebfp theo.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_12:_T\u1ea1o_link_\u0111\u0103ng_nh\u1eadp_Google_OAuth\"><a id=\"post-125780-_niycvxipw777\"><\/a><strong>B\u01b0\u1edbc 12: T\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Ch\u1ea1y l\u1ec7nh sau \u0111\u1ec3 Hermes Agent t\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/root\/.hermes\/google-workspace-venv\/bin\/python \\\n\n~\/.hermes\/skills\/productivity\/google-workspace\/scripts\/setup.py --auth-url<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"938\" height=\"421\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-24.png\" alt=\"B\u01b0\u1edbc 12: T\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth\" class=\"wp-image-125804\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-24.png 938w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-24-300x135.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-24-768x345.png 768w\" sizes=\"(max-width: 938px) 100vw, 938px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 12: T\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi ch\u1ea1y l\u1ec7nh, Hermes Agent s\u1ebd tr\u1ea3 v\u1ec1 m\u1ed9t \u0111\u01b0\u1eddng link \u0111\u0103ng nh\u1eadp Google.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1893\" height=\"401\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-25.png\" alt=\"B\u01b0\u1edbc 12: T\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth\" class=\"wp-image-125805\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-25.png 1893w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-25-300x64.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-25-1024x217.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-25-768x163.png 768w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-25-1536x325.png 1536w\" sizes=\"(max-width: 1893px) 100vw, 1893px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 12: T\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  B\u1ea1n h\u00e3y copy link n\u00e0y v\u00e0 m\u1edf trong tr\u00ecnh duy\u1ec7t. Sau \u0111\u00f3:\n<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0110\u0103ng nh\u1eadp b\u1eb1ng t\u00e0i kho\u1ea3n Google mu\u1ed1n k\u1ebft n\u1ed1i.<\/li>\n\n\n\n<li>Ki\u1ec3m tra t\u00ean \u1ee9ng d\u1ee5ng hi\u1ec3n th\u1ecb tr\u00ean m\u00e0n h\u00ecnh c\u1ea5p quy\u1ec1n.<\/li>\n\n\n\n<li>Ki\u1ec3m tra c\u00e1c quy\u1ec1n truy c\u1eadp \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u r\u1ed3i t\u00edch <strong>Ch\u1ecdn t\u1ea5t c\u1ea3 <\/strong>\u0111\u1ec3 cho ph\u00e9p Hermes Agent truy c\u1eadp Google Workspace.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1384\" height=\"776\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-26.png\" alt=\"B\u01b0\u1edbc 12: T\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth\" class=\"wp-image-125806\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-26.png 1384w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-26-300x168.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-26-1024x574.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-26-768x431.png 768w\" sizes=\"(max-width: 1384px) 100vw, 1384px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 12: T\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L\u01b0u \u00fd: <\/strong>H\u00e3y \u0111\u0103ng nh\u1eadp b\u1eb1ng \u0111\u00fang t\u00e0i kho\u1ea3n \u0111\u00e3 th\u00eam v\u00e0o test users n\u1ebfu OAuth app \u0111ang \u1edf tr\u1ea1ng th\u00e1i Testing.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi b\u1ea1n nh\u1ea5n <strong>Allow<\/strong>, Google s\u1ebd chuy\u1ec3n h\u01b0\u1edbng tr\u00ecnh duy\u1ec7t v\u1ec1 URL d\u1ea1ng:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;localhost:1\/?state=...&amp;code=...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 hi\u1ec3n th\u1ecb l\u1ed7i kh\u00f4ng truy c\u1eadp \u0111\u01b0\u1ee3c localhost. \u0110\u00e2y l\u00e0 hi\u1ec7n t\u01b0\u1ee3ng b\u00ecnh th\u01b0\u1eddng, kh\u00f4ng ph\u1ea3i l\u1ed7i c\u1ea5u h\u00ecnh.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  B\u1ea1n ch\u1ec9 c\u1ea7n copy to\u00e0n b\u1ed9 URL tr\u00ean thanh \u0111\u1ecba ch\u1ec9 tr\u00ecnh duy\u1ec7t. URL n\u00e0y ch\u00ednh l\u00e0 d\u1eef li\u1ec7u c\u1ea7n d\u00f9ng \u0111\u1ec3 Hermes Agent \u0111\u1ed5i authorization code l\u1ea5y token x\u00e1c th\u1ef1c.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1575\" height=\"840\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-27.png\" alt=\"B\u01b0\u1edbc 12: T\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth\" class=\"wp-image-125807\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-27.png 1575w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-27-300x160.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-27-1024x546.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-27-768x410.png 768w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-27-1536x819.png 1536w\" sizes=\"(max-width: 1575px) 100vw, 1575px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 12: T\u1ea1o link \u0111\u0103ng nh\u1eadp Google OAuth<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_13:_\u0110\u1ed5i_authorization_code_l\u1ea5y_token\"><a id=\"post-125780-_5c0kg9v7v7gc\"><\/a><strong>B\u01b0\u1edbc 13: \u0110\u1ed5i authorization code l\u1ea5y token<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Quay l\u1ea1i terminal tr\u00ean m\u00e1y ch\u1ee7 Hermes Agent v\u00e0 ch\u1ea1y l\u1ec7nh sau:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/root\/.hermes\/google-workspace-venv\/bin\/python \\\n\n  ~\/.hermes\/skills\/productivity\/google-workspace\/scripts\/setup.py \\\n\n--auth-code \"http:\/\/localhost:1\/?state=...&amp;code=...\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Trong \u0111\u00f3, h\u00e3y thay URL m\u1eabu b\u1eb1ng to\u00e0n b\u1ed9 URL redirect b\u1ea1n \u0111\u00e3 copy t\u1eeb tr\u00ecnh duy\u1ec7t.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu x\u00e1c th\u1ef1c th\u00e0nh c\u00f4ng, h\u1ec7 th\u1ed1ng s\u1ebd tr\u1ea3 v\u1ec1:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>OK: Authenticated. Token saved to \/root\/.hermes\/google_token.json<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1892\" height=\"162\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-28.png\" alt=\"B\u01b0\u1edbc 13: \u0110\u1ed5i authorization code l\u1ea5y token\" class=\"wp-image-125808\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-28.png 1892w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-28-300x26.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-28-1024x88.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-28-768x66.png 768w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-28-1536x132.png 1536w\" sizes=\"(max-width: 1892px) 100vw, 1892px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 13: \u0110\u1ed5i authorization code l\u1ea5y token<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Token s\u1ebd \u0111\u01b0\u1ee3c l\u01b0u t\u1ea1i: \/root\/.hermes\/google_token.json. \u0110\u00e2y l\u00e0 file Hermes Agent d\u00f9ng \u0111\u1ec3 g\u1ecdi API Google trong c\u00e1c l\u1ea7n s\u1eed d\u1ee5ng sau.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_14:_Ki\u1ec3m_tra_token_\u0111\u00e3_h\u1ee3p_l\u1ec7_hay_ch\u01b0a\"><a id=\"post-125780-_oakhptlcgb22\"><\/a><strong>B\u01b0\u1edbc 14: Ki\u1ec3m tra token \u0111\u00e3 h\u1ee3p l\u1ec7 hay ch\u01b0a<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Sau khi token \u0111\u01b0\u1ee3c l\u01b0u, b\u1ea1n n\u00ean ch\u1ea1y l\u1ec7nh ki\u1ec3m tra tr\u1ea1ng th\u00e1i x\u00e1c th\u1ef1c:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/root\/.hermes\/google-workspace-venv\/bin\/python \\\n\n~\/.hermes\/skills\/productivity\/google-workspace\/scripts\/setup.py --check<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu token h\u1ee3p l\u1ec7, k\u1ebft qu\u1ea3 s\u1ebd hi\u1ec3n th\u1ecb t\u01b0\u01a1ng t\u1ef1:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AUTHENTICATED: Token valid at \/root\/.hermes\/google_token.json<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"808\" height=\"85\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-29.png\" alt=\"B\u01b0\u1edbc 13: \u0110\u1ed5i authorization code l\u1ea5y token\" class=\"wp-image-125809\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-29.png 808w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-29-300x32.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-29-768x81.png 768w\" sizes=\"(max-width: 808px) 100vw, 808px\" \/><figcaption class=\"wp-element-caption\"><strong>B\u01b0\u1edbc 13: \u0110\u1ed5i authorization code l\u1ea5y token<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  K\u1ebft qu\u1ea3 n\u00e0y cho bi\u1ebft Hermes Agent \u0111\u00e3 \u0111\u1ecdc \u0111\u01b0\u1ee3c token v\u00e0 token c\u00f2n hi\u1ec7u l\u1ef1c.\n<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_15:_Ki\u1ec3m_tra_k\u1ebft_n\u1ed1i_API_Google_th\u1ef1c_t\u1ebf\"><a id=\"post-125780-_dbftnv2cfbgm\"><\/a><strong>B\u01b0\u1edbc 15: Ki\u1ec3m tra k\u1ebft n\u1ed1i API Google th\u1ef1c t\u1ebf<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Ti\u1ebfp theo, ch\u1ea1y l\u1ec7nh ki\u1ec3m tra k\u1ebft n\u1ed1i th\u1ef1c t\u1ebf \u0111\u1ebfn API Google:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/root\/.hermes\/google-workspace-venv\/bin\/python \\\n\n~\/.hermes\/skills\/productivity\/google-workspace\/scripts\/setup.py --check-live<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu Hermes Agent g\u1ecdi API Google th\u00e0nh c\u00f4ng, b\u1ea1n s\u1ebd th\u1ea5y k\u1ebft qu\u1ea3:\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>LIVE_CHECK_OK: Real API call succeeded.<\/code><\/pre>\n\n\n\n<h2 id=\"Sau_khi_k\u1ebft_n\u1ed1i_Google_Workspace,_Hermes_Agent_d\u00f9ng_\u0111\u01b0\u1ee3c_g\u00ec?_\"><a id=\"post-125780-_jxbs4jeg5zz\"><\/a><strong>Sau khi k\u1ebft n\u1ed1i Google Workspace, Hermes Agent d\u00f9ng \u0111\u01b0\u1ee3c g\u00ec? <\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sau khi k\u1ebft n\u1ed1i th\u00e0nh c\u00f4ng, Hermes Agent c\u00f3 th\u1ec3 h\u1ed7 tr\u1ee3 nhi\u1ec1u thao t\u00e1c v\u1edbi c\u00e1c d\u1ecbch v\u1ee5 Google Workspace.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>D\u1ecbch v\u1ee5<\/strong><\/td><td><strong>T\u00e1c v\u1ee5 c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n<\/strong><\/td><\/tr><tr><td>Gmail<\/td><td>T\u00ecm email, \u0111\u1ecdc email, g\u1eedi\/reply email, th\u00eam ho\u1eb7c b\u1ecf label<\/td><\/tr><tr><td>Google Calendar<\/td><td>Xem l\u1ecbch, t\u1ea1o l\u1ecbch, x\u00f3a event<\/td><\/tr><tr><td>Google Drive<\/td><td>T\u00ecm file, upload\/download, t\u1ea1o folder, share file, \u0111\u01b0a file v\u00e0o th\u00f9ng r\u00e1c<\/td><\/tr><tr><td>Google Docs<\/td><td>\u0110\u1ecdc t\u00e0i li\u1ec7u, t\u1ea1o Google Docs, append n\u1ed9i dung<\/td><\/tr><tr><td>Google Sheets<\/td><td>T\u1ea1o spreadsheet, \u0111\u1ecdc d\u1eef li\u1ec7u, ghi d\u1eef li\u1ec7u, append d\u1eef li\u1ec7u<\/td><\/tr><tr><td>Google Contacts<\/td><td>\u0110\u1ecdc danh b\u1ea1 th\u00f4ng qua People API<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>V\u00ed d\u1ee5: B\u1ea1n c\u00f3 th\u1ec3 y\u00eau c\u1ea7u Hermes Agent t\u1ea1o m\u1ed9t file docs:<\/em><\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1201\" height=\"898\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-30.jpg\" alt=\"Ki\u1ec3m tra k\u1ebft n\u1ed1i\" class=\"wp-image-125810\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-30.jpg 1201w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-30-300x224.jpg 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-30-1024x766.jpg 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/word-image-125780-30-768x574.jpg 768w\" sizes=\"(max-width: 1201px) 100vw, 1201px\" \/><figcaption class=\"wp-element-caption\"><strong>Ki\u1ec3m tra k\u1ebft n\u1ed1i<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 id=\"L\u01b0u_\u00fd_b\u1ea3o_m\u1eadt_khi_k\u1ebft_n\u1ed1i_Google_Workspace_v\u1edbi_Hermes_Agent\"><a id=\"post-125780-_uaanjrzcr1bc\"><\/a><strong>L\u01b0u \u00fd b\u1ea3o m\u1eadt khi k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Trong qu\u00e1 tr\u00ecnh c\u1ea5u h\u00ecnh, b\u1ea1n c\u1ea7n b\u1ea3o v\u1ec7 c\u1ea9n th\u1eadn c\u00e1c th\u00f4ng tin x\u00e1c th\u1ef1c. Kh\u00f4ng chia s\u1ebb c\u00f4ng khai c\u00e1c d\u1eef li\u1ec7u sau:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>File client secret.<\/li>\n\n\n\n<li>Authorization code.<\/li>\n\n\n\n<li>File token OAuth.<\/li>\n\n\n\n<li>N\u1ed9i dung file \/root\/.hermes\/google_client_secret.json.<\/li>\n\n\n\n<li>N\u1ed9i dung file \/root\/.hermes\/google_token.json.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu \u0111\u00e3 v\u00f4 t\u00ecnh chia s\u1ebb client secret ho\u1eb7c token \u1edf n\u01a1i kh\u00f4ng an to\u00e0n, b\u1ea1n n\u00ean t\u1ea1o OAuth client m\u1edbi ho\u1eb7c rotate l\u1ea1i th\u00f4ng tin x\u00e1c th\u1ef1c.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/ket-noi-google-workspace-voi-hermes-agent-2.png\" alt=\"L\u01b0u \u00fd b\u1ea3o m\u1eadt khi k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent\" class=\"wp-image-125814\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/ket-noi-google-workspace-voi-hermes-agent-2.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/ket-noi-google-workspace-voi-hermes-agent-2-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong><strong>L\u01b0u \u00fd b\u1ea3o m\u1eadt khi k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent<\/strong><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\n  Ngo\u00e0i ra, n\u1ebfu b\u1ea1n revoke OAuth token trong t\u00e0i kho\u1ea3n Google, Hermes Agent s\u1ebd m\u1ea5t quy\u1ec1n truy c\u1eadp Google Workspace. Khi \u0111\u00f3, b\u1ea1n c\u1ea7n ch\u1ea1y l\u1ea1i quy tr\u00ecnh \u0111\u0103ng nh\u1eadp OAuth \u0111\u1ec3 t\u1ea1o token m\u1edbi.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  V\u1edbi c\u00e1c h\u00e0nh \u0111\u1ed9ng c\u00f3 th\u1ec3 l\u00e0m thay \u0111\u1ed5i d\u1eef li\u1ec7u, ch\u1eb3ng h\u1ea1n nh\u01b0 g\u1eedi email, t\u1ea1o\/x\u00f3a l\u1ecbch, share\/x\u00f3a file Drive ho\u1eb7c s\u1eeda Docs\/Sheets, Hermes Agent s\u1ebd h\u1ecfi x\u00e1c nh\u1eadn tr\u01b0\u1edbc khi th\u1ef1c hi\u1ec7n.\n<\/p>\n\n\n\n<h2 id=\"M\u1ed9t_s\u1ed1_l\u1ed7i_th\u01b0\u1eddng_g\u1eb7p_v\u00e0_c\u00e1ch_x\u1eed_l\u00fd\"><a id=\"post-125780-_fw8j6gixojrz\"><\/a><strong>M\u1ed9t s\u1ed1 l\u1ed7i th\u01b0\u1eddng g\u1eb7p v\u00e0 c\u00e1ch x\u1eed l\u00fd<\/strong><\/h2>\n\n\n\n<h3 id=\"1._Kh\u00f4ng_t\u1ea1o_\u0111\u01b0\u1ee3c_OAuth_client_ID\"><a id=\"post-125780-_qvjlgtblkocn\"><\/a><strong>1. Kh\u00f4ng t\u1ea1o \u0111\u01b0\u1ee3c OAuth client ID<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Nguy\u00ean nh\u00e2n th\u01b0\u1eddng g\u1eb7p l\u00e0 OAuth consent screen ch\u01b0a \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh. H\u00e3y ki\u1ec3m tra l\u1ea1i ph\u1ea7n Google Auth Platform ho\u1eb7c OAuth consent screen, sau \u0111\u00f3 \u0111i\u1ec1n \u0111\u1ea7y \u0111\u1ee7 th\u00f4ng tin \u1ee9ng d\u1ee5ng tr\u01b0\u1edbc khi t\u1ea1o OAuth client.\n<\/p>\n\n\n\n<h3 id=\"2._Kh\u00f4ng_\u0111\u0103ng_nh\u1eadp_\u0111\u01b0\u1ee3c_OAuth_v\u00ec_app_\u0111ang_Testing\"><a id=\"post-125780-_jaxixahm837x\"><\/a><strong>2. Kh\u00f4ng \u0111\u0103ng nh\u1eadp \u0111\u01b0\u1ee3c OAuth v\u00ec app \u0111ang Testing<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu app \u0111ang \u1edf tr\u1ea1ng th\u00e1i Testing, b\u1ea1n c\u1ea7n th\u00eam email Google v\u00e0o danh s\u00e1ch test users. H\u00e3y truy c\u1eadp ph\u1ea7n Audience\/Test users trong Google Cloud v\u00e0 th\u00eam \u0111\u00fang email mu\u1ed1n d\u00f9ng \u0111\u1ec3 c\u1ea5p quy\u1ec1n.\n<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/ket-noi-google-workspace-voi-hermes-agent-3.png\" alt=\"M\u1ed9t s\u1ed1 l\u1ed7i th\u01b0\u1eddng g\u1eb7p v\u00e0 c\u00e1ch x\u1eed l\u00fd\" class=\"wp-image-125813\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/ket-noi-google-workspace-voi-hermes-agent-3.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/06\/ket-noi-google-workspace-voi-hermes-agent-3-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\"><strong><strong>M\u1ed9t s\u1ed1 l\u1ed7i th\u01b0\u1eddng g\u1eb7p v\u00e0 c\u00e1ch x\u1eed l\u00fd<\/strong><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 id=\"3._Google_redirect_v\u1ec1_localhost_b\u1ecb_l\u1ed7i\"><a id=\"post-125780-_v3obarzceyru\"><\/a><strong>3. Google redirect v\u1ec1 localhost b\u1ecb l\u1ed7i<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  \u0110\u00e2y l\u00e0 hi\u1ec7n t\u01b0\u1ee3ng b\u00ecnh th\u01b0\u1eddng. B\u1ea1n kh\u00f4ng c\u1ea7n truy c\u1eadp \u0111\u01b0\u1ee3c localhost. Ch\u1ec9 c\u1ea7n copy to\u00e0n b\u1ed9 URL tr\u00ean thanh \u0111\u1ecba ch\u1ec9 tr\u00ecnh duy\u1ec7t r\u1ed3i d\u00f9ng URL \u0111\u00f3 cho l\u1ec7nh &#8211;auth-code.\n<\/p>\n\n\n\n<h3 id=\"4._L\u1ec7nh_check-live_kh\u00f4ng_th\u00e0nh_c\u00f4ng\"><a id=\"post-125780-_ppmp6r95q465\"><\/a><strong>4. L\u1ec7nh check-live kh\u00f4ng th\u00e0nh c\u00f4ng<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  Tr\u01b0\u1eddng h\u1ee3p n\u00e0y c\u00f3 th\u1ec3 do thi\u1ebfu API, token ch\u01b0a h\u1ee3p l\u1ec7 ho\u1eb7c quy\u1ec1n OAuth ch\u01b0a \u0111\u1ea7y \u0111\u1ee7. H\u00e3y ki\u1ec3m tra l\u1ea1i danh s\u00e1ch API \u0111\u00e3 b\u1eadt, sau \u0111\u00f3 ch\u1ea1y l\u1ea1i quy tr\u00ecnh x\u00e1c th\u1ef1c n\u1ebfu c\u1ea7n.\n<\/p>\n\n\n\n<h3 id=\"5._Token_b\u1ecb_revoke_ho\u1eb7c_h\u1ebft_hi\u1ec7u_l\u1ef1c\"><a id=\"post-125780-_ygdt0xst7nm8\"><\/a><strong>5. Token b\u1ecb revoke ho\u1eb7c h\u1ebft hi\u1ec7u l\u1ef1c<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  N\u1ebfu token b\u1ecb revoke, Hermes Agent kh\u00f4ng th\u1ec3 g\u1ecdi API Google. B\u1ea1n c\u1ea7n t\u1ea1o l\u1ea1i link \u0111\u0103ng nh\u1eadp OAuth, c\u1ea5p quy\u1ec1n l\u1ea1i v\u00e0 \u0111\u1ed5i authorization code \u0111\u1ec3 l\u1ea5y token m\u1edbi.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>C\u00e1c b\u00e0i vi\u1ebft li\u00ean quan:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/tino.vn\/blog\/docs\/ket-noi-telegram-voi-hermes-agent\/\" target=\"_blank\" rel=\"noreferrer noopener\">H\u01b0\u1edbng d\u1eabn k\u1ebft n\u1ed1i Telegram v\u1edbi Hermes Agent tr\u00ean VPS Hermes c\u1ee7a Tino<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/ket-noi-tai-khoan-zalo-ca-nhan-voi-hermes-agent\/\">H\u01b0\u1edbng d\u1eabn k\u1ebft n\u1ed1i t\u00e0i kho\u1ea3n Zalo c\u00e1 nh\u00e2n v\u1edbi Hermes Agent tr\u00ean VPS Hermes c\u1ee7a Tino<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/docs\/ket-noi-discord-voi-hermes-agent\/\" target=\"_blank\" data-type=\"ht_kb\" data-id=\"125749\" rel=\"noreferrer noopener\">H\u01b0\u1edbng d\u1eabn k\u1ebft n\u1ed1i Discord v\u1edbi Hermes Agent tr\u00ean VPS Hermes c\u1ee7a Tino<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/vps-hermes-agent-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">VPS Hermes Agent l\u00e0 g\u00ec?\u00a0<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/cau-hinh-toi-thieu-de-chay-hermes-agent\/\" target=\"_blank\" rel=\"noreferrer noopener\">C\u1ea5u h\u00ecnh t\u1ed1i thi\u1ec3u \u0111\u1ec3 ch\u1ea1y Hermes Agent<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/mua-vps-hermes-agent-o-dau-uy-tin\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mua VPS Hermes Agent \u1edf \u0111\u00e2u uy t\u00edn?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/co-nen-mua-vps-cai-san-hermes-agent\/\" target=\"_blank\" rel=\"noreferrer noopener\">C\u00f3 n\u00ean mua VPS c\u00e0i s\u1eb5n Hermes Agent?<\/a><\/li>\n<\/ul>\n\n\n\n<h3 id=\"K\u1ebft_lu\u1eadn\"><a id=\"post-125780-_y2wugct01pd2\"><\/a><strong>K\u1ebft lu\u1eadn<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\n  K\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent gi\u00fap m\u1edf r\u1ed9ng kh\u1ea3 n\u0103ng t\u1ef1 \u0111\u1ed9ng h\u00f3a c\u00f4ng vi\u1ec7c trong h\u1ec7 sinh th\u00e1i Google. Sau khi ho\u00e0n t\u1ea5t c\u1ea5u h\u00ecnh, Hermes Agent c\u00f3 th\u1ec3 h\u1ed7 tr\u1ee3 x\u1eed l\u00fd email, l\u1ecbch, file, t\u00e0i li\u1ec7u, b\u1ea3ng t\u00ednh v\u00e0 danh b\u1ea1 th\u00f4ng qua OAuth 2.0 an to\u00e0n, kh\u00f4ng c\u1ea7n s\u1eed d\u1ee5ng m\u1eadt kh\u1ea9u Google tr\u1ef1c ti\u1ebfp. Ch\u00fac b\u1ea1n th\u00e0nh c\u00f4ng!\n<\/p>\n\n\n\n<h2 id=\"Nh\u1eefng_c\u00e2u_h\u1ecfi_th\u01b0\u1eddng_g\u1eb7p\"><a id=\"post-125780-_3hkgkso4lu1q\"><\/a><strong>Nh\u1eefng c\u00e2u h\u1ecfi th\u01b0\u1eddng g<\/strong>\u1eb7p<\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"K\u1ebft_n\u1ed1i_Google_Workspace_v\u1edbi_Hermes_Agent_c\u00f3_c\u1ea7n_nh\u1eadp_m\u1eadt_kh\u1ea9u_Google_kh\u00f4ng?\">K\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent c\u00f3 c\u1ea7n nh\u1eadp m\u1eadt kh\u1ea9u Google kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng. Hermes Agent k\u1ebft n\u1ed1i Google Workspace th\u00f4ng qua OAuth 2.0, kh\u00f4ng y\u00eau c\u1ea7u nh\u1eadp ho\u1eb7c l\u01b0u m\u1eadt kh\u1ea9u Google. B\u1ea1n ch\u1ec9 c\u1ea7n \u0111\u0103ng nh\u1eadp t\u00e0i kho\u1ea3n Google tr\u00ean tr\u00ecnh duy\u1ec7t, c\u1ea5p quy\u1ec1n truy c\u1eadp v\u00e0 Hermes Agent s\u1ebd s\u1eed d\u1ee5ng token x\u00e1c th\u1ef1c \u0111\u1ec3 l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c d\u1ecbch v\u1ee5 Google.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"C\u1ea7n_b\u1eadt_nh\u1eefng_API_n\u00e0o_trong_Google_Cloud?\">C\u1ea7n b\u1eadt nh\u1eefng API n\u00e0o trong Google Cloud?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">B\u1ea1n c\u1ea7n b\u1eadt c\u00e1c API sau trong Google Cloud Project:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gmail API<\/li>\n\n\n\n<li>Google Calendar API<\/li>\n\n\n\n<li>Google Drive API<\/li>\n\n\n\n<li>Google Sheets API<\/li>\n\n\n\n<li>Google Docs API<\/li>\n\n\n\n<li>People API<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu thi\u1ebfu m\u1ed9t trong c\u00e1c API n\u00e0y, Hermes Agent c\u00f3 th\u1ec3 kh\u00f4ng s\u1eed d\u1ee5ng \u0111\u01b0\u1ee3c \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng li\u00ean quan \u0111\u1ebfn Gmail, Calendar, Drive, Docs, Sheets ho\u1eb7c Contacts.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"V\u00ec_sao_ph\u1ea3i_ch\u1ecdn_OAuth_client_lo\u1ea1i_Desktop_App?\">V\u00ec sao ph\u1ea3i ch\u1ecdn OAuth client lo\u1ea1i Desktop App?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Hermes Agent s\u1eed d\u1ee5ng lu\u1ed3ng x\u00e1c th\u1ef1c OAuth ph\u00f9 h\u1ee3p v\u1edbi lo\u1ea1i \u1ee9ng d\u1ee5ng Desktop App. Khi ch\u1ecdn \u0111\u00fang lo\u1ea1i n\u00e0y, Google s\u1ebd t\u1ea1o file client secret JSON \u0111\u1ec3 Hermes Agent d\u00f9ng trong qu\u00e1 tr\u00ecnh t\u1ea1o link \u0111\u0103ng nh\u1eadp, l\u1ea5y authorization code v\u00e0 \u0111\u1ed5i sang token x\u00e1c th\u1ef1c.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"Trang_localhost:1_b\u00e1o_l\u1ed7i_c\u00f3_sao_kh\u00f4ng?\">Trang localhost:1 b\u00e1o l\u1ed7i c\u00f3 sao kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng sao. Sau khi b\u1ea1n c\u1ea5p quy\u1ec1n Google, tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 chuy\u1ec3n v\u1ec1 URL d\u1ea1ng:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n  http:\/\/localhost:1\/?state=&#8230;&#038;code=&#8230;\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trang n\u00e0y c\u00f3 th\u1ec3 b\u00e1o l\u1ed7i nh\u01b0 kh\u00f4ng truy c\u1eadp \u0111\u01b0\u1ee3c ho\u1eb7c ERR_UNSAFE_PORT. \u0110\u00e2y l\u00e0 hi\u1ec7n t\u01b0\u1ee3ng b\u00ecnh th\u01b0\u1eddng. B\u1ea1n ch\u1ec9 c\u1ea7n copy to\u00e0n b\u1ed9 URL tr\u00ean thanh \u0111\u1ecba ch\u1ec9 tr\u00ecnh duy\u1ec7t r\u1ed3i d\u00e1n v\u00e0o l\u1ec7nh &#8211;auth-code \u0111\u1ec3 Hermes Agent l\u1ea5y token.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"K\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent c\u00f3 c\u1ea7n nh\u1eadp m\u1eadt kh\u1ea9u Google kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Kh\u00f4ng. Hermes Agent k\u1ebft n\u1ed1i Google Workspace th\u00f4ng qua OAuth 2.0, kh\u00f4ng y\u00eau c\u1ea7u nh\u1eadp ho\u1eb7c l\u01b0u m\u1eadt kh\u1ea9u Google. B\u1ea1n ch\u1ec9 c\u1ea7n \u0111\u0103ng nh\u1eadp t\u00e0i kho\u1ea3n Google tr\u00ean tr\u00ecnh duy\u1ec7t, c\u1ea5p quy\u1ec1n truy c\u1eadp v\u00e0 Hermes Agent s\u1ebd s\u1eed d\u1ee5ng token x\u00e1c th\u1ef1c \u0111\u1ec3 l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c d\u1ecbch v\u1ee5 Google.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"C\u1ea7n b\u1eadt nh\u1eefng API n\u00e0o trong Google Cloud?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>B\u1ea1n c\u1ea7n b\u1eadt c\u00e1c API sau trong Google Cloud Project:<\/p><ul><li>Gmail API<\/li><li>Google Calendar API<\/li><li>Google Drive API<\/li><li>Google Sheets API<\/li><li>Google Docs API<\/li><li>People API<\/li><\/ul><p>N\u1ebfu thi\u1ebfu m\u1ed9t trong c\u00e1c API n\u00e0y, Hermes Agent c\u00f3 th\u1ec3 kh\u00f4ng s\u1eed d\u1ee5ng \u0111\u01b0\u1ee3c \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng li\u00ean quan \u0111\u1ebfn Gmail, Calendar, Drive, Docs, Sheets ho\u1eb7c Contacts.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"V\u00ec sao ph\u1ea3i ch\u1ecdn OAuth client lo\u1ea1i Desktop App?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Hermes Agent s\u1eed d\u1ee5ng lu\u1ed3ng x\u00e1c th\u1ef1c OAuth ph\u00f9 h\u1ee3p v\u1edbi lo\u1ea1i \u1ee9ng d\u1ee5ng Desktop App. Khi ch\u1ecdn \u0111\u00fang lo\u1ea1i n\u00e0y, Google s\u1ebd t\u1ea1o file client secret JSON \u0111\u1ec3 Hermes Agent d\u00f9ng trong qu\u00e1 tr\u00ecnh t\u1ea1o link \u0111\u0103ng nh\u1eadp, l\u1ea5y authorization code v\u00e0 \u0111\u1ed5i sang token x\u00e1c th\u1ef1c.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Trang localhost:1 b\u00e1o l\u1ed7i c\u00f3 sao kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Kh\u00f4ng sao. Sau khi b\u1ea1n c\u1ea5p quy\u1ec1n Google, tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 chuy\u1ec3n v\u1ec1 URL d\u1ea1ng:<\/p><p>\n  http:\/\/localhost:1\/?state=...&code=...\n<\/p><p>Trang n\u00e0y c\u00f3 th\u1ec3 b\u00e1o l\u1ed7i nh\u01b0 kh\u00f4ng truy c\u1eadp \u0111\u01b0\u1ee3c ho\u1eb7c ERR_UNSAFE_PORT. \u0110\u00e2y l\u00e0 hi\u1ec7n t\u01b0\u1ee3ng b\u00ecnh th\u01b0\u1eddng. B\u1ea1n ch\u1ec9 c\u1ea7n copy to\u00e0n b\u1ed9 URL tr\u00ean thanh \u0111\u1ecba ch\u1ec9 tr\u00ecnh duy\u1ec7t r\u1ed3i d\u00e1n v\u00e0o l\u1ec7nh --auth-code \u0111\u1ec3 Hermes Agent l\u1ea5y token.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Khi k\u1ebft n\u1ed1i Google Workspace v\u1edbi Hermes Agent, b\u1ea1n c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n nhi\u1ec1u t\u00e1c v\u1ee5 nh\u01b0 t\u00ecm email, \u0111\u1ecdc email, g\u1eedi ph\u1ea3n h\u1ed3i, ki\u1ec3m tra l\u1ecbch, t\u1ea1o s\u1ef1 ki\u1ec7n, \u0111\u1ecdc file Google Drive, ghi d\u1eef li\u1ec7u v\u00e0o Google Sheets ho\u1eb7c truy xu\u1ea5t danh b\u1ea1 t\u1eeb Google Contacts tr\u00ean c\u00e1c k\u00eanh nh\u1eafn tin quen thu\u1ed9c. [&hellip;]<\/p>\n","protected":false},"author":23,"featured_media":125815,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7592],"tags":[7643],"class_list":["post-125780","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hermes-agent","tag-google-workspace-hermes-agent"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/125780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=125780"}],"version-history":[{"count":5,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/125780\/revisions"}],"predecessor-version":[{"id":125822,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/125780\/revisions\/125822"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/125815"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=125780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=125780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=125780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}