<div dir="ltr"><p class="MsoNormal"><span lang="EN-US">Unfortunate, self-inflicted problem, for which help would be appreciated.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">SYSTEM<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">QGIS Version 3.12.3 Bucuresti<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Installation from QGIS-OSGeo4W-3.12.3-1-Setup-x86_64.exe as a standalone version<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">QGIS broke when installing plug-ins (see below)<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">OS - Windows 7 Home<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">PROBLEM DESCRIPTION<u></u><u></u></span></p><ul type="disc" style="margin-bottom:0cm;margin-top:0cm"><li class="gmail-m_5853285501390679781MsoListParagraph" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Program was working well and had been used successfully for several days until then trying to install Google Earth, Google Maps and OpenLayers.<u></u><u></u></span></li><li class="gmail-m_5853285501390679781MsoListParagraph" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Installed plug-ins, received a Python URL (with instruction to Copy and Paste into QGIS, which was done).<u></u><u></u></span></li><li class="gmail-m_5853285501390679781MsoListParagraph" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Then received a Google Security message via email asking whether it was me.<u></u><u></u></span></li><li class="gmail-m_5853285501390679781MsoListParagraph" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Accepted this, but then subsequently a few minutes later, because of a security concern (now admittedly unwarranted!) went into Google account and revoked access to Python (at that stage not understanding that this is a program requirement!).  I am now unable to run QGIS.<u></u><u></u></span></li></ul><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">FIXES ATTEMPTED<u></u><u></u></span></p><ul type="disc" style="margin-bottom:0cm;margin-top:0cm"><li class="gmail-m_5853285501390679781MsoListParagraph" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Have tried Uninstalling QGIS and re-installing, to no effect.<u></u><u></u></span></li><li class="gmail-m_5853285501390679781MsoListParagraph" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Tried Uninstalling and manually cleaning up “debris folders & files” left by Windows before re-installing, again to no effect.<u></u><u></u></span></li><li class="gmail-m_5853285501390679781MsoListParagraph" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Have searched methods of re-obtaining Python token, most of which indicate a requirement to contact the app supplier to re-obtain a new one.<u></u><u></u></span></li><li class="gmail-m_5853285501390679781MsoListParagraph" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Have seen that an API OAuth 2.0 is a possible solution, but have no idea as to how this could / would be used with QGIS.<u></u><u></u></span></li></ul><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">EXPECTATION<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">To obtain a new Python token from Google via QGIS to allow QGIS to be reinstalled successfully.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">ERROR SOURCE INFORMATION<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">The following error information has been copied from QGIS:<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><div><p class="MsoNormal"><b><span style="font-size:12pt;font-family:"Times New Roman",serif;color:red">Couldn't load plugin 'ee_plugin' due to an error when calling its classFactory() method</span></b><span style="font-size:12pt;font-family:"Times New Roman",serif"><u></u><u></u></span></p><p class="MsoNormal" style="margin-right:0cm;margin-bottom:9pt;margin-left:0cm"><b><span style="font-size:18pt;font-family:"Times New Roman",serif">google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', '{\n  "error": "invalid_grant",\n  "error_description": "Token has been expired or revoked."\n}')</span></b><span style="font-size:12pt;font-family:"Times New Roman",serif"><u></u><u></u></span></p><p class="MsoNormal" style="margin-right:0cm;margin-bottom:9pt;margin-left:0cm"><span style="font-size:10pt;font-family:"Courier New"">Traceback (most recent call last):<br>  File "C:/PROGRA~1/QGIS3~1.12/apps/qgis/./python\qgis\utils.py", line 334, in _startPlugin<br>    plugins[packageName] = package.classFactory(iface)<br>  File "C:/Users/Sean/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\ee_plugin\__init__.py", line 25, in classFactory<br>    from .ee_plugin import GoogleEarthEnginePlugin<br>  File "C:/PROGRA~1/QGIS3~1.12/apps/qgis/./python\qgis\utils.py", line 743, in _import<br>    mod = _builtin_import(name, globals, locals, fromlist, level)<br>  File "C:/Users/Sean/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\ee_plugin\ee_plugin.py", line 26, in<br>    ee_plugin.ee_auth.init()<br>  File "C:/Users/Sean/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\ee_plugin\ee_auth.py", line 19, in init<br>    ee.Initialize()<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\ee\__init__.py", line 123, in Initialize<br>    ApiFunction.initialize()<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\ee\apifunction.py", line 154, in initialize<br>    signatures = data.getAlgorithms()<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\ee\data.py", line 952, in getAlgorithms<br>    return send_('/algorithms', {}, 'GET')<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\ee\data.py", line 1762, in send_<br>    response, content = send_with_backoff()<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\ee\data.py", line 1753, in send_with_backoff<br>    url, method=opt_method, body=payload, headers=headers)<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\google_auth_httplib2.py", line 187, in request<br>    self._request, method, uri, request_headers)<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\google\auth\credentials.py", line 124, in before_request<br>    self.refresh(request)<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\google\oauth2\credentials.py", line 152, in refresh<br>    self._scopes,<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\google\oauth2\_client.py", line 241, in refresh_grant<br>    response_data = _token_endpoint_request(request, token_uri, body)<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\google\oauth2\_client.py", line 115, in _token_endpoint_request<br>    _handle_error_response(response_body)<br>  File "C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows\google\oauth2\_client.py", line 60, in _handle_error_response<br>    raise exceptions.RefreshError(error_details, response_body)<br>google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', '{\n  "error": "invalid_grant",\n  "error_description": "Token has been expired or revoked."\n}')<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12pt;font-family:"Times New Roman",serif"><br><b>Python version:</b> 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]<br><b>QGIS version:</b> 3.12.3-București București, 8234261527<u></u><u></u></span></p><p class="MsoNormal" style="margin-right:0cm;margin-bottom:9pt;margin-left:0cm"><b><span style="font-size:13.5pt;font-family:"Times New Roman",serif">Python Path:</span></b><span style="font-size:12pt;font-family:"Times New Roman",serif"><u></u><u></u></span></p><p class="MsoNormal" style="margin-right:0cm;margin-bottom:0.0001pt;margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:/PROGRA~1/QGIS3~1.12/apps/qgis/./python<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:/Users/Sean/AppData/Roaming/QGIS/QGIS3\profiles\default/python<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:/Users/Sean/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:/PROGRA~1/QGIS3~1.12/apps/qgis/./python/plugins<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\PROGRA~1\QGIS3~1.12\apps\Python37<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\PROGRA~1\QGIS3~1.12\apps\Python37\Scripts<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\Program Files\QGIS 3.12\bin\python37.zip<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\PROGRA~1\QGIS3~1.12\apps\Python37\DLLs<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\Program Files\QGIS 3.12\bin<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\win32<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\win32\lib<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\Pythonwin<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:0cm;text-indent:0cm"><u></u><span style="font-size:10pt;font-family:Symbol">·<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">                     </span></span><u></u><span style="font-size:12pt;font-family:"Times New Roman",serif">C:/Users/Sean/AppData/Roaming/QGIS/QGIS3\profiles\default/python<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12pt;font-family:"Times New Roman",serif">C:\Users\Sean\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin\extlibs_windows</span><u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">CONCLUSION</p><p class="MsoNormal">Assistance in obtaining a new Python token and / or guiding me to a solution required, please.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Kind regards,</p><p class="MsoNormal">Sean Hill</p></div>