Http 401 error when creating a new remote from Google Drive

What is the problem you are having with rclone?

I tried to connect my personal google drive remote but no sucess.

When my browser opens (Firefox 109.0.1 64-bit), I'm logged but it asks for selecting my account because I have got two of them:

Then I select one and I'm requested to permission:

Finally, I get a generic error:

I got the http header request from the browser:

Header:
POST /signin/oauth/consent/approval?hl=es&_reqid=145128&rt=j HTTP/2
Host: accounts.google.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0
Accept: */*
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://accounts.google.com/signin/oauth/consent
X-Same-Domain: 1
Google-Accounts-XSRF: 1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Content-Length: 1847
Origin: https://accounts.google.com
DNT: 1
Connection: keep-alive
Cookie: __Host-GAPS=1:0rwHtWIbr3Pe25sTJyu-8Wof1zNYQMKLm8eWLdWPVC00NXAoVFdLX0SmHWTN8yXuENG3fV7EZBirUlnrh_gTnZUsjGsJMw:z7f29R6qsoZh0yPu; NID=511=Y1v91a-LIA26-sq1IKfcH_V544d_hn4iqzSep8zYHQeCXppYEzh3qPzwGD6HFwdCbMY1IguzCL9AHqHAUu8ceS3efF0ySmJ3wL-dL3jHytUH536meSTqVzK5f_QXjAcH9c7b4o9VP-4MA98XJC55h4ckPjTkG98dvQ9u4a_QdA17gCMPm6dTPqcX1OuJd1FAGA7I1Vi42q4p3M6RJVnH1l3Z8qXQRZWGoGf0UkIeyLT8VeiPS1eOOg3909hrr_VXiQ; SMSV=ADHTe-AGic3UNyfhjtiWPrgiB1MTHhtigjcGbNpzFu3vINKWNdT3lBXFlGe4DR6a9acG04fpTcPUDWrCRZTXRKU1rChLqnohQXtPzYrE1XuN8jzKmLSpDF0; SID=TAgkBw6ij1BvD3ED3xT4hIefzLrzZQ-qfji4-Q-H6RNa6XFzfNf_8dFq7jxdTaXzNd55Wg.; __Secure-1PSID=TAgkBw6ij1BvD3ED3xT4hIefzLrzZQ-qfji4-Q-H6RNa6XFz8yTq7cIxCeHs0evav5F1HQ.; __Secure-3PSID=TAgkBw6ij1BvD3ED3xT4hIefzLrzZQ-qfji4-Q-H6RNa6XFzbTLOWqnIPkx-CW_HSkECQg.; LSID=o.chat-dl.google.com|o.chat.google.com|o.drive.google.com|o.groups.google.com|o.lens.google.com|o.mail.google.com|o.myaccount.google.com|o.myactivity.google.com|o.photos.google.com|o.play.google.com|o.takeout.google.com|s.ES|s.youtube:TggkB0O_bA7nVBB3uD9F4PH34ieUjBuBHvxgUmHpBQmDvAxLJdBDKxLUr2CtnvOVyBzQsQ.; __Host-1PLSID=o.chat-dl.google.com|o.chat.google.com|o.drive.google.com|o.groups.google.com|o.lens.google.com|o.mail.google.com|o.myaccount.google.com|o.myactivity.google.com|o.photos.google.com|o.play.google.com|o.takeout.google.com|s.ES|s.youtube:TggkB0O_bA7nVBB3uD9F4PH34ieUjBuBHvxgUmHpBQmDvAxLPIhisaKh3tugn-wQWmU7uA.; __Host-3PLSID=o.chat-dl.google.com|o.chat.google.com|o.drive.google.com|o.groups.google.com|o.lens.google.com|o.mail.google.com|o.myaccount.google.com|o.myactivity.google.com|o.photos.google.com|o.play.google.com|o.takeout.google.com|s.ES|s.youtube:TggkB0O_bA7nVBB3uD9F4PH34ieUjBuBHvxgUmHpBQmDvAxLw_tQtYilZnNeXOv5bj70ng.; HSID=AGmKvXuC0HBXNlfT8; SSID=Alanb-TscoDf9Kf2H; APISID=wjcjilpTaHEyH04u/AaB1Hmel_XN1V6aJr; SAPISID=V07sm-5LgKh84Qoy/A8F90pS07MK9OfrRz; __Secure-1PAPISID=V07sm-5LgKh84Qoy/A8F90pS07MK9OfrRz; __Secure-3PAPISID=V07sm-5LgKh84Qoy/A8F90pS07MK9OfrRz; ACCOUNT_CHOOSER=AFx_qI47l6PNGSXbdy73lt4mKi5XMz_B1pLwK6Y0YYuQzf87tAH3Z70XsSkp4TFOYjRSnBk3FvpHfvvkJBxYY2rD-Gv6rjpJv7TJFNUvKReiAT1QvLILmFukQ1ZoGEsZFY6YzhP1ngVpEGjjFCLICuxdlSRn13vm8Pdnvkhyk_uCfBBmlRI2-fjvapmO_eeD_l5c5HVNk1LceLKlOgBOGJTT8v-rKV1MSw; SIDCC=AFvIBn9NkTzRQUuVAJ9VWHX-Nuzf0Dn6M1dywKgdm-Z8Nu8lDbF3DP3KfAKIFPamAk2PuNYU1w; __Secure-3PSIDCC=AFvIBn_8Td36ro2BtKiRjVpsJvR7Kcd71xwySrTmFzE4LLbuXLbfHgW2Czixhldd_7znAuIDh7I; __Secure-ENID=10.SE=OTBBtqrM-7OPRTf3oWjEpSRiEk712mqHoxuL7c7-ZuGIvJm_RpCZQ8-IqDpVTmgquKBpRaVH9qqyqNaErGN83g_KgHfStzoAWyF4G83TMw5Wm7LtEIVgDjVj0bFZcNv6YnZ3OtWB2tBQFLtyM31Al2KJSv2kMAJy2gAGvAfMSgaZ3zYPZvfg3jCd_MSHorWi-g3cPc5IVs4_pT09fWEaZhonHxdELPX73wterVTnT4gSh0JEhsXcCxJniP9Qx7r408T_luWG6NprZ1WaMMVp7NZo7lxmLY1OJPqb0Z-FglltPxO_rOw; __Secure-1PSIDCC=AFvIBn9yhBUeMttgSt5UF9fVmrecBN2lB8nefezSAtOiOA1VQR20O2oqKD1U-extR0CWWilFY4c; AEC=ARSKqsJ23I1NRMgTrHDY39_xwYtu706u1quLva0eqMLBbwzplD60GH9gp08; 1P_JAR=2023-2-6-10; S=billing-ui-v3=fL-Uf_cjl_c1qHpfMrhaHtrEDRwm791V:billing-ui-v3-efe=fL-Uf_cjl_c1qHpfMrhaHtrEDRwm791V; user_id=107814824384771354117
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Sec-GPC: 1
TE: trailers

And here is the response's header (with an unauthorized error):

HTTP/2 401 Unauthorized
content-type: application/json; charset=utf-8
x-frame-options: DENY
p3p: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
vary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site
cache-control: no-cache, no-store, max-age=0, must-revalidate
pragma: no-cache
expires: Mon, 01 Jan 1990 00:00:00 GMT
date: Wed, 15 Feb 2023 11:32:12 GMT
x-content-type-options: nosniff
content-encoding: gzip
strict-transport-security: max-age=31536000; includeSubDomains
report-to: {"group":"coop_gse_qebhlk","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/gse_qebhlk"}]}
cross-origin-opener-policy-report-only: same-origin; report-to="coop_gse_qebhlk"
content-security-policy: require-trusted-types-for 'script';report-uri /cspreport
x-xss-protection: 1; mode=block
server: GSE
set-cookie: __Host-GAPS=1:AttGVx0SHpr4bAka7uT3mmxRixB1hKjje5GdOwZf0yLxX7cANotjyn8JH4LckqM-v42jwVRrLxk-sqLrJ7Nb4jn64wsdrw:a50TyXS5QWTY2bG7;Path=/;Expires=Fri, 14-Feb-2025 11:32:12 GMT;Secure;HttpOnly;Priority=HIGH
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
X-Firefox-Spdy: h2

Run the command 'rclone version' and share the full output of the command.

rclone v1.61.1

  • os/version: linuxmint 19 (64 bit)
  • os/kernel: 4.15.0-204-generic (x86_64)
  • os/type: linux
  • os/arch: amd64
  • go/version: go1.19.4
  • go/linking: static
  • go/tags: none

Which cloud storage system are you using? (eg Google Drive)

Google Drive

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone config -vv

The rclone config contents with secrets removed.

Just the following:

[javiherrera]
type = drive
scope = drive

A log from the command with the -vv flag

2023/02/15 13:08:53 DEBUG : rclone: Version "v1.61.1" starting with parameters ["rclone" "config" "-vv" "--log-file=rconfig.log"]
2023/02/15 13:08:53 DEBUG : Using config file from "/home/javier/.config/rclone/rclone.conf"
2023/02/15 13:09:43 DEBUG : javiherrera: config in: state="*all", result=""
2023/02/15 13:09:43 DEBUG : javiherrera: config out: out=&{State:*all-set,0,false Option: OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:43 DEBUG : javiherrera: config: reading config parameter "client_id"
2023/02/15 13:09:44 DEBUG : javiherrera: config in: state="*all-set,0,false", result=""
2023/02/15 13:09:44 DEBUG : javiherrera: config out: out=&{State:*all,1,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:44 DEBUG : javiherrera: config in: state="*all,1,false", result=""
2023/02/15 13:09:44 DEBUG : javiherrera: config out: out=&{State:*all-set,1,false Option: OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:44 DEBUG : javiherrera: config: reading config parameter "client_secret"
2023/02/15 13:09:44 DEBUG : javiherrera: config in: state="*all-set,1,false", result=""
2023/02/15 13:09:44 DEBUG : javiherrera: config out: out=&{State:*all,2,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:44 DEBUG : javiherrera: config in: state="*all,2,false", result=""
2023/02/15 13:09:44 DEBUG : javiherrera: config out: out=&{State:*all,3,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:44 DEBUG : javiherrera: config in: state="*all,3,false", result=""
2023/02/15 13:09:44 DEBUG : javiherrera: config out: out=&{State:*all,4,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:44 DEBUG : javiherrera: config in: state="*all,4,false", result=""
2023/02/15 13:09:44 DEBUG : javiherrera: config out: out=&{State:*all,5,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:44 DEBUG : javiherrera: config in: state="*all,5,false", result=""
2023/02/15 13:09:44 DEBUG : javiherrera: config out: out=&{State:*all-set,5,false Option: OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:44 DEBUG : javiherrera: config: reading config parameter "scope"
2023/02/15 13:09:44 DEBUG : javiherrera: config in: state="*all-set,5,false", result="drive"
2023/02/15 13:09:44 DEBUG : Saving config "scope" in section "javiherrera" of the config file
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,6,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,6,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,7,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,7,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all-set,7,false Option: OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config: reading config parameter "service_account_file"
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all-set,7,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,8,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,8,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,9,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,9,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,10,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,10,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,11,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,11,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,12,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,12,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,13,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,13,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,14,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,14,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,15,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,15,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,16,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,16,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,17,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,17,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,18,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,18,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,19,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,19,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,20,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,20,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,21,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,21,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,22,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,22,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,23,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,23,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,24,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,24,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,25,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,25,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,26,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,26,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,27,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,27,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,28,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,28,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,29,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,29,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,30,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,30,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,31,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,31,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,32,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,32,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,33,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,33,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,34,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,34,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,35,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,35,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,36,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,36,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,37,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,37,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,38,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,38,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,39,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,39,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,40,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,40,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,41,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,41,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,42,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,42,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all,43,false Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config in: state="*all,43,false", result=""
2023/02/15 13:09:45 DEBUG : javiherrera: config out: out=&{State:*all-advanced Option:false OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:45 DEBUG : javiherrera: config: reading config parameter "config_fs_advanced"
2023/02/15 13:09:47 DEBUG : javiherrera: config in: state="*all-advanced", result="false"
2023/02/15 13:09:47 DEBUG : javiherrera: config out: out=&{State:*postconfig Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:47 DEBUG : javiherrera: config in: state="*postconfig", result=""
2023/02/15 13:09:47 DEBUG : javiherrera: config in: state="", result=""
2023/02/15 13:09:47 DEBUG : javiherrera: config out: out=&{State:*oauth,teamdrive,, Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:47 DEBUG : javiherrera: config out: out=&{State:*oauth,teamdrive,, Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:47 DEBUG : javiherrera: config in: state="*oauth,teamdrive,,", result=""
2023/02/15 13:09:47 DEBUG : javiherrera: config out: out=&{State:*oauth-confirm,teamdrive,, Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:47 DEBUG : javiherrera: config in: state="*oauth-confirm,teamdrive,,", result=""
2023/02/15 13:09:47 DEBUG : javiherrera: config out: out=&{State:*oauth-islocal,teamdrive,, Option:true OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:47 DEBUG : javiherrera: config: reading config parameter "config_is_local"
2023/02/15 13:09:47 DEBUG : javiherrera: config in: state="*oauth-islocal,teamdrive,,", result="true"
2023/02/15 13:09:47 DEBUG : javiherrera: config out: out=&{State:*oauth-do,teamdrive,, Option:<nil> OAuth:<nil> Error: Result:}, err=<nil>
2023/02/15 13:09:47 DEBUG : javiherrera: config in: state="*oauth-do,teamdrive,,", result=""
2023/02/15 13:09:47 DEBUG : Starting auth server on 127.0.0.1:53682
2023/02/15 13:09:47 NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=P9Ex3uzkMEeQqMXIfV6Gwg
2023/02/15 13:09:47 NOTICE: Log in and authorize rclone for access
2023/02/15 13:09:47 NOTICE: Waiting for code...
2023/02/15 13:09:47 DEBUG : Redirecting browser to: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=202264815644.apps.googleusercontent.com&redirect_uri=http%3A%2F%2F127.0.0.1%3A53682%2F&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=P9Ex3uzkMEeQqMXIfV6Gwg

Try creating your own client ID/secret.

The internet is unfortunately an awful place and there have been problems with other folks stealing and using rclone's key which eats up the authorizations.

Is the account your picking a personal account? GSuite? Edu?

So then, is the problem caused by a missing client ID? OK, I'll try to do that.

This account is only for personal use.

No, the problem is most likely caused by bad humans stealing rclone's key and abusing it.

Using your own client ID/secret works around that.

I mean the initial problem I reported (Http 401 error).

I followed this guide to setup my own clientID/secret:
https://rclone.org/drive/#making-your-own-client-id

However, I still can't access to my drive when I try to create a new remote. Everything's the same than before, but:

  1. I use clientID and secret to setup the remote.
  2. When browser opens and I select a Google account, the page is now different:

Ok, the configured app isn't verified, but this shouldn't be a problem:

Be aware that, due to the "enhanced security" recently introduced by Google, you are theoretically expected to "submit your app for verification" and then wait a few weeks(!) for their response; in practice, you can go right ahead and use the client ID and client secret with rclone, the only issue will be a very scary confirmation screen shown when you connect via your browser for rclone to be able to get its token-id (but as this only happens during the remote configuration, it's not such a big deal).

Source: https://rclone.org/drive/#making-your-own-client-id

So when I click "Ir a rclone (no seguro)" in English: "Go to rclone (unsafe)", I get the same http 401 error than before.

What does that mean? Are you using a personal account / GSuite account / EDU account?

It's a personal account.

I ran through a personal account (US) and had no issues with default creds and a client ID / secret.

I'm not sure what we would be blocking as I'm not aware of any configuration on a personal account.

In that case, perhaps you could explain to me what settings my personal account should have, in order for rclone to work properly.

Thank you.

There isn't a flag/switch I'm aware of as I shared above.

I'm not sure what's blocking you but that error is from Google saying you can't link an app it looks like so something particular with that account.

Well, I've finally got rclone to work! :smiley:

As I posted in the first message, my current browser is Firefox 109.0.1 64-bit, but why not to try another different? So I've installed Chromium 64 bits for my operating system and with this, I got to finish the configuration process.

Thank you for your support.

That's really strange.

I only use Chrome these days I haven't touched FF in some time.

But if it's working, declare victory and move on :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.