Google ਸਮੀਖਿਆ API ਏਕੀਕਰਣ ਵਿੱਚ OAuth 2.0 ਰੀਡਾਇਰੈਕਟ URI ਮੁੱਦਿਆਂ 'ਤੇ ਕਾਬੂ ਪਾਉਣਾ
ਪਾਇਥਨ ਵਿੱਚ ਗੂਗਲ ਬਿਜ਼ਨਸ ਸਮੀਖਿਆਵਾਂ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਦੇ ਸਮੇਂ, ਬਹੁਤ ਸਾਰੇ ਡਿਵੈਲਪਰਾਂ ਨੂੰ "ਗਲਤੀ 400: ਰੀਡਾਇਰੈਕਟ_ਯੂਰੀ_ਮਿਸਮੈਚ" ਆਮ ਗਲਤੀ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ। ਇਹ ਸਮੱਸਿਆ OAuth 2.0 ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਰੀਡਾਇਰੈਕਟ URI ਅਤੇ Google ਕਲਾਊਡ ਕੰਸੋਲ ਵਿੱਚ ਨਿਰਦਿਸ਼ਟ ਕੀਤੇ ਗਏ ਵਿਚਕਾਰ ਗਲਤ ਅਲਾਈਨਮੈਂਟ ਕਾਰਨ ਪੈਦਾ ਹੋਈ ਹੈ। ਗਲਤੀ Google ਸਮੀਖਿਆ API ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਰੋਕ ਸਕਦੀ ਹੈ, ਜੋ ਕਿ ਗਾਹਕ ਫੀਡਬੈਕ ਪ੍ਰੋਗਰਾਮੇਟਿਕ ਤੌਰ 'ਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ।
Google ਦੀ OAuth 2.0 ਨੀਤੀ ਸਖਤ ਹੈ, ਜਿਸ ਲਈ ਕੌਂਫਿਗਰ ਕੀਤੇ ਰੀਡਾਇਰੈਕਟ URI ਅਤੇ ਪ੍ਰਮਾਣੀਕਰਨ ਦੌਰਾਨ ਵਰਤੇ ਗਏ ਇੱਕ ਵਿਚਕਾਰ ਸਟੀਕ ਮੇਲ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇਸ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰਨ ਵਿੱਚ ਅਸਫਲਤਾ ਨਿਰਾਸ਼ਾ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਰੀਡਾਇਰੈਕਟ ਪੋਰਟ ਨੰਬਰ ਅਕਸਰ ਬਦਲਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਬਹੁਤ ਸਾਰੇ ਡਿਵੈਲਪਰ ਰਿਪੋਰਟ ਕਰਦੇ ਹਨ। ਇਸ ਮੁੱਦੇ ਨੂੰ ਸਮਝਣਾ ਇੱਕ ਨਿਰਵਿਘਨ API ਕਨੈਕਸ਼ਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਅਤੇ ਇਸ ਰੋਡ ਬਲਾਕ ਨੂੰ ਮਾਰਨ ਤੋਂ ਬਚਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ Google ਬਿਜ਼ਨਸ ਸਮੀਖਿਆਵਾਂ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਵੇਲੇ ਰੀਡਾਇਰੈਕਟ_ਯੂਰੀ_ਮਿਸਮੈਚ ਗਲਤੀ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਕਦਮਾਂ 'ਤੇ ਚੱਲਾਂਗੇ। ਤੁਹਾਡੇ OAuth ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨੂੰ ਧਿਆਨ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰਕੇ, ਅਸੀਂ ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਖਤਮ ਕਰ ਦੇਵਾਂਗੇ ਅਤੇ ਤੁਹਾਨੂੰ ਆਸਾਨੀ ਨਾਲ ਸਮੀਖਿਆਵਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਵਾਂਗੇ। ਹੱਲ ਵਿੱਚ ਰੀਡਾਇਰੈਕਟ URI ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਕਰਨਾ ਅਤੇ ਵਿਕਾਸ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਲੋਕਲਹੋਸਟ ਵਾਤਾਵਰਨ ਨਾਲ ਇਸ ਨੂੰ ਅਲਾਈਨ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ।
ਭਾਵੇਂ ਤੁਸੀਂ ਵਪਾਰਕ ਪ੍ਰਦਰਸ਼ਨ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਲਈ ਜਾਂ ਉਹਨਾਂ ਨੂੰ ਆਪਣੀ ਵੈੱਬਸਾਈਟ 'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਸਮੀਖਿਆਵਾਂ ਪ੍ਰਾਪਤ ਕਰ ਰਹੇ ਹੋ, ਇਸ ਗਲਤੀ ਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰਨਾ ਹੈ ਇਸ ਨੂੰ ਸਮਝਣਾ ਸਮੇਂ ਦੀ ਬਚਤ ਕਰੇਗਾ ਅਤੇ ਸਫਲ API ਇੰਟਰੈਕਸ਼ਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਏਗਾ। ਬੇਮੇਲ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ ਅਤੇ ਬਿਨਾਂ ਰੁਕਾਵਟਾਂ ਦੇ ਆਪਣੀਆਂ Google ਵਪਾਰ ਸਮੀਖਿਆਵਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰੋ।
| ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
|---|---|
| flow.run_local_server(port=8080) | OAuth 2.0 ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਨਿਰਧਾਰਤ ਪੋਰਟ 'ਤੇ ਇੱਕ ਸਥਾਨਕ ਵੈੱਬ ਸਰਵਰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇਹ ਵਿਧੀ ਸਥਾਨਕ ਤੌਰ 'ਤੇ OAuth ਪ੍ਰਵਾਹ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਵਿਸ਼ੇਸ਼ ਹੈ, ਖਾਸ ਕਰਕੇ Google API ਲਈ। |
| response.raise_for_status() | ਜੇਕਰ API ਜਵਾਬ ਵਿੱਚ ਇੱਕ ਖਰਾਬ HTTP ਸਥਿਤੀ ਕੋਡ ਹੈ ਤਾਂ ਇੱਕ HTTP ਗੜਬੜ ਪੈਦਾ ਕਰਦਾ ਹੈ। ਇਹ ਗਲਤ URL ਜਾਂ ਅਨੁਮਤੀ ਦੀਆਂ ਤਰੁੱਟੀਆਂ ਵਰਗੀਆਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਫੜਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ API ਬੇਨਤੀ ਤਰੁੱਟੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਇਹ ਜ਼ਰੂਰੀ ਹੋ ਜਾਂਦਾ ਹੈ। |
| session.headers.update() | ਸੈਸ਼ਨ ਆਬਜੈਕਟ ਦੇ ਸਿਰਲੇਖਾਂ ਨੂੰ ਲੋੜੀਂਦੇ ਅਧਿਕਾਰ ਟੋਕਨ ਅਤੇ ਸਮੱਗਰੀ ਕਿਸਮ ਦੇ ਨਾਲ ਅੱਪਡੇਟ ਕਰਦਾ ਹੈ। OAuth 2.0 ਕ੍ਰੇਡੈਂਸ਼ੀਅਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ Google ਵਪਾਰ API ਨਾਲ API ਬੇਨਤੀਆਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ। |
| flow.fetch_token(authorization_response=request.url) | ਉਪਭੋਗਤਾ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ 'ਤੇ ਵਾਪਸ ਭੇਜੇ ਜਾਣ ਤੋਂ ਬਾਅਦ OAuth ਟੋਕਨ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਇਹ ਵਿਧੀ ਅਧਿਕਾਰ ਜਵਾਬ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਦੀ ਹੈ, ਫਲਾਸਕ ਜਾਂ ਸਥਾਨਕ ਵਾਤਾਵਰਣ ਵਿੱਚ OAuth 2.0 ਪ੍ਰਵਾਹ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। |
| redirect_uri=url_for("oauth2callback", _external=True) | ਕਾਲਬੈਕ URL ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੇ ਹੋਏ, OAuth ਪ੍ਰਵਾਹ ਲਈ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਰੀਡਾਇਰੈਕਟ URI ਤਿਆਰ ਕਰਦਾ ਹੈ। ਫਲਾਸਕ ਵਿੱਚ ਇਹ ਵਿਧੀ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ OAuth ਪ੍ਰਮਾਣਿਕਤਾ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਸਹੀ ਰੀਡਾਇਰੈਕਟ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। |
| loguru.logger | ਰੀਅਲ-ਟਾਈਮ ਡੀਬਗਿੰਗ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਇੱਕ ਹਲਕਾ ਲੌਗਿੰਗ ਲਾਇਬ੍ਰੇਰੀ। ਇਹ ਪੜ੍ਹਨ ਲਈ ਆਸਾਨ ਲੌਗ ਆਉਟਪੁੱਟ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜੋ ਖਾਸ ਤੌਰ 'ਤੇ OAuth ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ API ਬੇਨਤੀਆਂ ਦੀ ਪ੍ਰਗਤੀ ਨੂੰ ਟਰੈਕ ਕਰਨ ਲਈ ਮਦਦਗਾਰ ਹੁੰਦਾ ਹੈ। |
| Flow.from_client_secrets_file() | ਇੱਕ JSON ਫ਼ਾਈਲ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਕ੍ਰੇਡੈਂਸ਼ੀਅਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ OAuth 2.0 ਪ੍ਰਵਾਹ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇਹ ਕਮਾਂਡ Google APIs ਨਾਲ OAuth ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਵਿਸ਼ੇਸ਼ ਹੈ ਅਤੇ ਪਾਈਥਨ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਕਲਾਇੰਟ ਸੀਕਰੇਟਸ ਨੂੰ ਲੋਡ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। |
| authorization_url, _ = flow.authorization_url() | OAuth ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਉਪਭੋਗਤਾ ਨੂੰ ਰੀਡਾਇਰੈਕਟ ਕਰਨ ਲਈ ਲੋੜੀਂਦਾ ਪ੍ਰਮਾਣੀਕਰਨ URL ਤਿਆਰ ਕਰਦਾ ਹੈ। ਇਹ ਕਮਾਂਡ Google API ਵਿੱਚ OAuth 2.0 ਪ੍ਰਮਾਣੀਕਰਨ ਪ੍ਰਕਿਰਿਆ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। |
Google ਸਮੀਖਿਆ API ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ OAuth 2.0 ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਮਝਣਾ
ਉੱਪਰ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਪਾਈਥਨ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ Google My Business API ਦੀ ਵਰਤੋਂ ਕਰਕੇ Google ਵਪਾਰ ਸਮੀਖਿਆਵਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਪਹਿਲੇ ਪੜਾਅ ਵਿੱਚ OAuth 2.0 ਪ੍ਰਮਾਣੀਕਰਨ ਸਥਾਪਤ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ, ਜੋ Google ਦੇ APIs ਨਾਲ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ। ਇਹ ਪ੍ਰਕਿਰਿਆ JSON ਫਾਈਲ ਵਿੱਚ ਤੁਹਾਡੇ OAuth ਕਲਾਇੰਟ ਦੇ ਭੇਦ ਨਿਰਧਾਰਤ ਕਰਨ ਦੁਆਰਾ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ, ਜਿਸ ਵਿੱਚ ਤੁਹਾਡੇ Google ਕਲਾਉਡ ਪ੍ਰੋਜੈਕਟ ਲਈ ਪ੍ਰਮਾਣ ਪੱਤਰ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ। ਇਹ ਪ੍ਰਮਾਣ ਪੱਤਰ ਸੁਰੱਖਿਅਤ ਪਹੁੰਚ ਸਥਾਪਤ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹਨ, ਅਤੇ Google ਕਲਾਉਡ ਕੰਸੋਲ ਵਿੱਚ ਕੌਂਫਿਗਰ ਕੀਤੇ ਇੱਕ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਇੱਕ ਬੇਮੇਲ ਹੋਣ ਨਾਲ "ਗਲਤੀ 400: ਰੀਡਾਇਰੈਕਟ_ਉਰੀ_ਮੀਸਮੈਚ" ਵਰਗੀ ਗਲਤੀ ਹੋ ਸਕਦੀ ਹੈ।
ਇੱਕ ਵਾਰ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਲੋਡ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਸਕ੍ਰਿਪਟ InstalledAppFlow ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ OAuth ਪ੍ਰਵਾਹ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ। ਇਹ ਪ੍ਰਵਾਹ ਉਪਭੋਗਤਾ ਅਧਿਕਾਰ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਇੱਕ ਸਥਾਨਕ ਸਰਵਰ (ਇਸ ਕੇਸ ਵਿੱਚ, ਪੋਰਟ 8080 'ਤੇ) ਲਾਂਚ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਉਪਭੋਗਤਾ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਸਕ੍ਰਿਪਟ ਇੱਕ ਐਕਸੈਸ ਟੋਕਨ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ, ਜੋ Google ਸਮੀਖਿਆ API ਨੂੰ ਅਧਿਕਾਰਤ ਬੇਨਤੀਆਂ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। ਇਹ ਪ੍ਰਕਿਰਿਆ ਸਵੈਚਲਿਤ ਅਤੇ flow.run_local_server ਵਿਧੀ ਦੁਆਰਾ ਹੈਂਡਲ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਸੁਰੱਖਿਅਤ ਰੂਪ ਨਾਲ ਸਟੋਰ ਕੀਤੇ ਗਏ ਹਨ ਅਤੇ API ਬੇਨਤੀਆਂ ਲਈ ਵਰਤੇ ਗਏ ਹਨ। ਲੌਗਿੰਗ ਵਿਧੀ ਜਿਵੇਂ ਵਹਾਅ ਨੂੰ ਟ੍ਰੈਕ ਕਰਨ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕੰਮ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਕਿ ਕੋਈ ਵੀ ਸਮੱਸਿਆ ਡੀਬੱਗਿੰਗ ਲਈ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਲੌਗ ਕੀਤੀ ਗਈ ਹੈ।
ਸਫਲਤਾਪੂਰਵਕ ਪ੍ਰਮਾਣ ਪੱਤਰ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਸਕ੍ਰਿਪਟ ਬੇਨਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਸੈਸ਼ਨ ਸਥਾਪਤ ਕਰਦੀ ਹੈ। ਇਸ ਸੈਸ਼ਨ ਵਿੱਚ ਇਸਦੇ ਸਿਰਲੇਖਾਂ ਵਿੱਚ ਪਹੁੰਚ ਟੋਕਨ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਕਿ Google ਨੂੰ API ਕਾਲਾਂ ਕਰਨ ਵੇਲੇ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਲੋੜੀਂਦਾ ਹੈ। ਸਕ੍ਰਿਪਟ ਤੁਹਾਡੀ ਕਾਰੋਬਾਰੀ ਖਾਤਾ ID ਅਤੇ ਟਿਕਾਣਾ ID ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਹੀ API ਅੰਤਮ ਬਿੰਦੂ URL ਦਾ ਨਿਰਮਾਣ ਕਰਦੀ ਹੈ। URL ਨੂੰ ਇੱਕ GET ਬੇਨਤੀ ਭੇਜ ਕੇ, ਸਕ੍ਰਿਪਟ ਖਾਸ ਕਾਰੋਬਾਰੀ ਸਥਾਨ ਲਈ ਸਮੀਖਿਆਵਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ। ਇਸ ਵਿੱਚ HTTP ਗਲਤੀਆਂ ਨੂੰ ਫੜਨ ਲਈ ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜਿਵੇਂ ਕਿ ਗਲਤ ਪ੍ਰਮਾਣ ਪੱਤਰ ਜਾਂ ਅਨੁਮਤੀਆਂ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਕਿ ਬੇਨਤੀ ਦੇ ਦੌਰਾਨ ਆਈਆਂ ਕਿਸੇ ਵੀ ਸਮੱਸਿਆਵਾਂ ਦਾ ਕੁਸ਼ਲਤਾ ਨਾਲ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
Google ਸਮੀਖਿਆ API ਤੋਂ ਜਵਾਬ ਨੂੰ JSON ਵਸਤੂ ਵਜੋਂ ਪਾਰਸ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਸ ਵਿੱਚ ਕਾਰੋਬਾਰੀ ਟਿਕਾਣੇ ਲਈ ਸਮੀਖਿਆਵਾਂ ਸ਼ਾਮਲ ਹਨ। ਜੇਕਰ ਬੇਨਤੀ ਸਫਲ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸਮੀਖਿਆਵਾਂ ਕੰਸੋਲ 'ਤੇ ਪ੍ਰਿੰਟ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਅਤੇ ਸਕ੍ਰਿਪਟ ਇੱਕ ਸਫਲਤਾ ਸੰਦੇਸ਼ ਨੂੰ ਲੌਗ ਕਰਦੀ ਹੈ। ਇਹ ਮਾਡਯੂਲਰ ਪਹੁੰਚ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਪ੍ਰਕਿਰਿਆ ਆਸਾਨੀ ਨਾਲ ਦੁਹਰਾਈ ਜਾ ਸਕਦੀ ਹੈ ਅਤੇ ਵੱਖ-ਵੱਖ ਸਥਾਨਾਂ ਜਾਂ ਖਾਤਿਆਂ ਲਈ ਅਨੁਕੂਲਿਤ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਸੈਸ਼ਨ ਮੈਨੇਜਮੈਂਟ ਅਤੇ ਐਰਰ ਹੈਂਡਲਿੰਗ ਦੇ ਨਾਲ ਇੱਕ ਸਪੱਸ਼ਟ ਢਾਂਚੇ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਦੁਆਰਾ, ਸਕ੍ਰਿਪਟ Google ਸਮੀਖਿਆ API ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ ਸੁਰੱਖਿਆ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਂਦੀ ਹੈ। ਇਹ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਵਿਸ਼ਲੇਸ਼ਣ ਜਾਂ ਡਿਸਪਲੇ ਲਈ ਗਾਹਕ ਸਮੀਖਿਆਵਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਐਕਸੈਸ ਕਰਨ ਅਤੇ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਗੂਗਲ ਸਮੀਖਿਆ API ਲਈ ਪਾਈਥਨ ਵਿੱਚ Google OAuth 2.0 ਗਲਤੀ 400 ਨੂੰ ਸੰਭਾਲਣਾ
ਰੀਡਾਇਰੈਕਟ URI ਸੈੱਟਅੱਪ 'ਤੇ ਫੋਕਸ ਦੇ ਨਾਲ Python ਅਤੇ Google OAuth 2.0 API ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੱਲ
import requestsfrom google_auth_oauthlib.flow import InstalledAppFlowfrom loguru import logger as log# Replace with your actual Google Business account and location IDsmy_business_account_id = "YOUR_ACCOUNT_ID"location_id = "YOUR_LOCATION_ID"# Path to your OAuth 2.0 Client Secret JSON fileGCP_CREDENTIALS_PATH = "path/to/your/google_review_client.json"# Set a consistent redirect URIredirect_uri = "http://localhost:8080/"# Setup the OAuth 2.0 flow with required scopesflow = InstalledAppFlow.from_client_secrets_file(GCP_CREDENTIALS_PATH,scopes=["https://www.googleapis.com/auth/business.manage"],redirect_uri=redirect_uri)# Run OAuth flow to obtain credentialscredentials = flow.run_local_server(port=8080)log.debug(f"Credentials: {credentials}")# Setup the API request sessionsession = requests.Session()session.headers.update({"Authorization": f"Bearer {credentials.token}"})# Construct the API endpoint URLurl = f"https://mybusiness.googleapis.com/v4/accounts/{my_business_account_id}/locations/{location_id}/reviews"# Make API request and handle potential errorstry:response = session.get(url)response.raise_for_status()reviews = response.json()print("Reviews fetched successfully.")print(reviews)except requests.exceptions.HTTPError as http_err:log.error(f"HTTP error: {http_err}")except Exception as err:log.error(f"Unexpected error: {err}")
Google ਕਲਾਊਡ ਕੰਸੋਲ ਵਿੱਚ ਰੀਡਾਇਰੈਕਟ URI ਨੂੰ ਅੱਪਡੇਟ ਕਰਕੇ redirect_uri_mismatch ਨੂੰ ਹੱਲ ਕਰਨਾ
ਸਹੀ ਰੀਡਾਇਰੈਕਟ URI ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਗੂਗਲ ਕਲਾਉਡ ਕੰਸੋਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੱਲ
# Step 1: Open Google Cloud Console# Step 2: Navigate to your project and go to "APIs & Services" > "Credentials"# Step 3: Edit the OAuth 2.0 Client IDs settings# Step 4: In "Authorized redirect URIs", add "http://localhost:8080/"# Step 5: Save your changes# After setting the correct redirect URI, re-run your Python script# This ensures the OAuth 2.0 flow will use the correct URI during authentication
Google OAuth ਰੀਡਾਇਰੈਕਟਸ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਇੱਕ ਫਲਾਸਕ-ਅਧਾਰਿਤ ਸਥਾਨਕ ਵੈੱਬ ਸਰਵਰ ਬਣਾਉਣਾ
OAuth ਰੀਡਾਇਰੈਕਟ URI ਹੈਂਡਲਿੰਗ 'ਤੇ ਬਿਹਤਰ ਨਿਯੰਤਰਣ ਲਈ ਫਲਾਸਕ ਦੀ ਵਰਤੋਂ ਨਾਲ ਹੱਲ
from flask import Flask, redirect, request, session, url_forfrom google_auth_oauthlib.flow import Flow# Flask setupapp = Flask(__name__)app.secret_key = "your_secret_key"# Path to OAuth 2.0 Client Secret JSONGCP_CREDENTIALS_PATH = "google_review_client.json"@app.route("/authorize")def authorize():flow = Flow.from_client_secrets_file(GCP_CREDENTIALS_PATH,scopes=["https://www.googleapis.com/auth/business.manage"],redirect_uri=url_for("oauth2callback", _external=True))authorization_url, _ = flow.authorization_url()return redirect(authorization_url)@app.route("/oauth2callback")def oauth2callback():flow = Flow.from_client_secrets_file(GCP_CREDENTIALS_PATH,scopes=["https://www.googleapis.com/auth/business.manage"],redirect_uri=url_for("oauth2callback", _external=True))flow.fetch_token(authorization_response=request.url)session["credentials"] = flow.credentialsreturn redirect("/reviews")# Run the Flask serverif __name__ == "__main__":app.run("localhost", 8080)
ਪਾਈਥਨ ਏਕੀਕਰਣ ਲਈ Google API ਵਿੱਚ OAuth ਰੀਡਾਇਰੈਕਟ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ
ਪਾਈਥਨ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਗੂਗਲ ਏਪੀਆਈ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਵੇਲੇ ਇੱਕ ਨਾਜ਼ੁਕ ਪਹਿਲੂ ਨੂੰ ਅਕਸਰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਦੀ ਸਹੀ ਸੰਰਚਨਾ ਹੈ . ਇਹ ਸੈਟਿੰਗ OAuth 2.0 ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਅਤੇ ਇਸ URI ਵਿੱਚ ਇੱਕ ਬੇਮੇਲ ਅਕਸਰ "ਗਲਤੀ 400: ਰੀਡਾਇਰੈਕਟ_uri_mismatch" ਗਲਤੀ ਦਾ ਨਤੀਜਾ ਹੁੰਦਾ ਹੈ। Google ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਪ੍ਰਕਿਰਿਆ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਸਖ਼ਤ ਹੈ ਕਿ ਪ੍ਰਵਾਹ ਸੁਰੱਖਿਅਤ ਹੈ ਅਤੇ ਵਧੀਆ ਅਭਿਆਸਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ, ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਿ Google ਕਲਾਊਡ ਕੰਸੋਲ ਵਿੱਚ ਸੰਰੂਪਿਤ ਰੀਡਾਇਰੈਕਟ URI ਉਹਨਾਂ ਦੇ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ ਵਰਤੇ ਜਾ ਰਹੇ ਯੂਆਰਆਈ ਨਾਲ ਬਿਲਕੁਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।
ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਇਹ ਸਮਝਣਾ ਹੈ ਕਿ OAuth ਪ੍ਰਵਾਹ ਵਿੱਚ ਪੋਰਟਾਂ ਕਿਵੇਂ ਕੰਮ ਕਰਦੀਆਂ ਹਨ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਇੱਕ ਸਥਾਨਕ ਵਾਤਾਵਰਣ ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਹਨ। ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਅਕਸਰ ਪੋਰਟ ਨੰਬਰ ਬਦਲਣ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ (ਜਿਵੇਂ "52271" ਗਲਤੀ ਪਹਿਲਾਂ ਦੱਸੀ ਗਈ ਸੀ) . ਪੋਰਟ ਨੰਬਰ ਨੂੰ ਠੀਕ ਕਰਨ ਦੀ ਸਲਾਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ (ਉਦਾਹਰਨ ਲਈ, ) ਬੇਮੇਲ ਹੋਣ ਤੋਂ ਬਚਣ ਲਈ, ਅਤੇ ਇਹ ਕੋਡ ਵਿੱਚ ਪੋਰਟ ਨੰਬਰ ਨੂੰ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਪਾਸ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਇਹ ਨਾ ਸਿਰਫ਼ ਇਕਸਾਰਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਬਲਕਿ ਗਤੀਸ਼ੀਲ ਪੋਰਟ ਅਸਾਈਨਮੈਂਟ ਦੇ ਕਾਰਨ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਵੀ ਰੋਕਦਾ ਹੈ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਤੁਹਾਡੇ ਪ੍ਰਬੰਧਨ ਸੁਰੱਖਿਅਤ ਜ਼ਰੂਰੀ ਹੈ. ਕਲਾਇੰਟ ਭੇਦ ਵਾਲੀ JSON ਫਾਈਲ ਨੂੰ ਇੱਕ ਸੁਰੱਖਿਅਤ ਸਥਾਨ 'ਤੇ ਸਟੋਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਐਕਸੈਸ ਟੋਕਨਾਂ ਨੂੰ ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਤਾਜ਼ਾ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹਨਾਂ ਟੋਕਨਾਂ ਨੂੰ ਅੱਪਡੇਟ ਰੱਖਣਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ API ਕਾਲਾਂ ਵੈਧ ਰਹਿੰਦੀਆਂ ਹਨ, ਕਿਉਂਕਿ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੇ ਟੋਕਨਾਂ ਨਾਲ ਪ੍ਰਮਾਣੀਕਰਨ ਸਮੱਸਿਆਵਾਂ ਵੀ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਕੁੱਲ ਮਿਲਾ ਕੇ, ਤੁਹਾਡੇ ਪ੍ਰਮਾਣਿਕਤਾ ਪ੍ਰਵਾਹ ਦਾ ਸਾਵਧਾਨ ਪ੍ਰਬੰਧਨ ਨਿਰਵਿਘਨ ਏਕੀਕਰਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਰੀਡਾਇਰੈਕਟ URI ਬੇਮੇਲ ਗਲਤੀ ਵਰਗੀਆਂ ਆਮ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਦੂਰ ਕਰਦਾ ਹੈ।
- ਗੂਗਲ ਏਪੀਆਈ ਵਿੱਚ "ਗਲਤੀ 400: ਰੀਡਾਇਰੈਕਟ_ਯੂਰੀ_ਮਿਸਮੈਚ" ਦਾ ਕੀ ਕਾਰਨ ਹੈ?
- ਇਹ ਤਰੁੱਟੀ ਤੁਹਾਡੇ ਕੋਡ ਵਿੱਚ ਰੀਡਾਇਰੈਕਟ URI ਅਤੇ Google ਕਲਾਊਡ ਕੰਸੋਲ ਵਿੱਚ ਰਜਿਸਟਰ ਕੀਤੇ ਗਏ ਇੱਕ ਵਿਚਕਾਰ ਮੇਲ ਨਾ ਹੋਣ ਕਾਰਨ ਹੋਈ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਉਹ ਬਿਲਕੁਲ ਮੇਲ ਖਾਂਦੇ ਹਨ।
- ਵਰਤਣ ਵੇਲੇ ਮੈਂ ਪੋਰਟ ਨੰਬਰ ਨੂੰ ਕਿਵੇਂ ਠੀਕ ਕਰ ਸਕਦਾ ਹਾਂ ?
- ਪੋਰਟ ਨੰਬਰ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਇੱਕ ਸਥਿਰ ਪੋਰਟ ਦਿਓ ਜਿਵੇਂ ਕਿ 8080 ਪਾਸ ਕਰਕੇ ਵਿੱਚ ਢੰਗ.
- ਮੈਨੂੰ ਕੀ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜੇਕਰ ਮੇਰਾ ਮਿਆਦ ਪੁੱਗਦੀ ਹੈ?
- ਤੁਹਾਨੂੰ ਮੌਜੂਦਾ ਟੋਕਨ ਦੀ ਮਿਆਦ ਪੁੱਗਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਨਵੇਂ ਟੋਕਨ ਦੀ ਬੇਨਤੀ ਕਰਨ ਲਈ Google ਦੀ OAuth ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਟੋਕਨ ਤਾਜ਼ਾ ਕਰਨ ਵਾਲੇ ਤਰਕ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- ਕੀ ਮੈਂ ਸੇਵਾ ਖਾਤੇ ਨੂੰ ਰਜਿਸਟਰ ਕੀਤੇ ਬਿਨਾਂ API ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਨਹੀਂ, ਤੁਹਾਨੂੰ Google ਸਮੀਖਿਆ API ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਇੱਕ ਸੇਵਾ ਖਾਤਾ ਬਣਾਉਣਾ ਅਤੇ JSON ਕੁੰਜੀ ਫਾਈਲ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- ਕਿਉਂ ਕਰਦਾ ਹੈ ਟੈਸਟਿੰਗ ਦੌਰਾਨ ਬਦਲਦੇ ਰਹੋ?
- ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਉਦੋਂ ਵਾਪਰਦਾ ਹੈ ਜਦੋਂ ਡਾਇਨਾਮਿਕ ਪੋਰਟ ਅਸਾਈਨਮੈਂਟਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਆਪਣੇ ਸਥਾਨਕ OAuth ਸਰਵਰ ਸੈੱਟਅੱਪ ਵਿੱਚ ਇੱਕ ਸਥਿਰ ਪੋਰਟ (ਉਦਾਹਰਨ ਲਈ, 8080) ਸੈੱਟ ਕਰੋ।
"Error 400: redirect_uri_mismatch" ਤਰੁੱਟੀ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਤੁਹਾਡੇ OAuth 2.0 ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰਨਾ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਕੋਡ ਵਿੱਚ ਰੀਡਾਇਰੈਕਟ URI Google Cloud ਵਿੱਚ ਰਜਿਸਟਰ ਕੀਤੇ ਗਏ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। ਇਹ ਕਦਮ ਸਫਲ API ਏਕੀਕਰਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਸੈਸ਼ਨ ਸਿਰਲੇਖਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਅਤੇ ਸੰਭਾਵੀ HTTP ਗਲਤੀਆਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣਾ Google ਸਮੀਖਿਆ API ਤੱਕ ਨਿਰਵਿਘਨ ਪਹੁੰਚ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ। ਪੋਰਟ ਨੂੰ ਫਿਕਸ ਕਰਕੇ ਅਤੇ ਤੁਹਾਡੇ ਕੋਡ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾ ਕੇ, ਡਿਵੈਲਪਰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਸਮੀਖਿਆਵਾਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਕਾਰੋਬਾਰਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਗਾਹਕ ਫੀਡਬੈਕ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮਿਲਦੀ ਹੈ।
- OAuth 2.0 ਕੌਂਫਿਗਰੇਸ਼ਨ ਸਮੇਤ Google ਵਪਾਰ ਸਮੀਖਿਆ API ਨੂੰ ਸਮਰੱਥ ਅਤੇ ਸੈਟ ਅਪ ਕਰਨ ਲਈ ਵਿਸਤ੍ਰਿਤ ਕਦਮਾਂ ਦਾ ਅਧਿਕਾਰੀ ਤੋਂ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ ਸੀ। ਗੂਗਲ ਡਿਵੈਲਪਰ ਦਸਤਾਵੇਜ਼ .
- "Error 400: redirect_uri_mismatch" ਮੁੱਦੇ ਦੇ ਨਿਪਟਾਰੇ ਬਾਰੇ ਜਾਣਕਾਰੀ ਇਸ 'ਤੇ ਚਰਚਾ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੀ ਗਈ ਸੀ। ਸਟੈਕ ਓਵਰਫਲੋ ਕਮਿਊਨਿਟੀ , ਜਿੱਥੇ ਵੱਖ-ਵੱਖ ਡਿਵੈਲਪਰਾਂ ਨੇ ਆਪਣੇ ਅਨੁਭਵ ਅਤੇ ਹੱਲ ਸਾਂਝੇ ਕੀਤੇ।
- ਜਨਰਲ OAuth 2.0 ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ ਅਤੇ ਸੰਰਚਨਾ ਸੁਝਾਅ, ਖਾਸ ਕਰਕੇ ਪਾਈਥਨ ਲਈ, ਦੁਆਰਾ ਅਧਿਕਾਰਤ ਗਾਈਡ ਵਿੱਚ ਲੱਭੇ ਗਏ ਸਨ Google Auth OAuthlib ਪਾਈਥਨ ਦਸਤਾਵੇਜ਼ .