मैं फ्लास्क के साथ एक एप्लिकेशन विकसित कर रहा हूं और मुझे Google साइन इन का उपयोग करना होगा। मैंने https://developers.google.com/ पर दिए गए निर्देशों का पालन किया है पहचान/साइन-इन/वेब/साइन-इन और वे मेरे डेस्कटॉप पर अच्छी तरह से काम करते हैं।

लेकिन जब मैं इसे अपने लैपटॉप पर आज़माता हूं तो मुझे निम्न अपवाद मिलता है: न आया हुआ अपवाद [ऑब्जेक्ट ऑब्जेक्ट]

स्क्रीनशॉट

यह वह कोड है जिसे मैं निष्पादित कर रहा हूं:

Main.py:

"""
Flask test
"""
from flask import Flask, url_for, request, render_template, redirect
app = Flask(__name__) 

@app.route("/") 
def test():
    return render_template("ejemplo.html")

#LAUNCH APP
if __name__ == "__main__":
    app.run(host='0.0.0.0',port=5000)

उदाहरण.एचटीएमएल:

<script src="https://apis.google.com/js/platform.js" async defer></script>

<meta name="google-signin-client_id"
content="MYGOOGLEUSERSTRINGID.apps.googleusercontent.com">

<div class="g-signin2" data-onsuccess="onSignIn"></div>

<a href="#" onclick="signOut();">Sign out</a>

<script>
function onSignIn(googleUser) {
  var profile = googleUser.getBasicProfile();
  console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
  console.log('Name: ' + profile.getName());
  console.log('Image URL: ' + profile.getImageUrl());
  console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
}

function signOut() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function () {
  console.log('User signed out.');
});
}

</script>

मेरे लैपटॉप पर, जब मैं Google साइनइन बटन पर क्लिक करता हूं, तो क्रेडेंशियल्स के लिए एक विंडो उभरती है। लेकिन क्रेडेंशियल देने के बाद कुछ नहीं होता है, ऑनसाइन इन फ़ंक्शन निष्पादित नहीं होता है।

अगर मैं मिटा दूं

<div class="g-signin2" ...</div> 

लाइन, यह अपवाद लॉन्च नहीं होता है।

मैंने इसे किसी अन्य डेस्कटॉप में फ्लास्क और इसकी आवश्यकताओं की ताजा स्थापना के साथ भी आजमाया है लेकिन यह ठीक से काम करता है और मुझे यह अपवाद नहीं मिलता है। मैंने तीन कंप्यूटरों में समान स्थापना विधियों का उपयोग किया है:

https://github.com/pablopenna/flask_app में instalar_flask.txt स्क्रिप्ट का इस्तेमाल करना

संपादित करें: मैं यह कहना भूल गया कि मैंने लाइन जोड़ने के लिए /etc/मेजबान फ़ाइल संपादित की है

127.0.0.1    dominioppr.com

चूंकि वह यूआरआई है जिसे मैंने Google एपीआई कंसोल में अनुमति दी है।

EDIT2: मैंने अभी अपने लैपटॉप पर एक और उपयोगकर्ता बनाया है, फ्लास्क स्थापित किया है और ठीक उसी कोड को निष्पादित किया है। इस बार यह काम किया।

मुझे लगता है कि यह समस्या कुछ स्थानीय गलत कॉन्फ़िगरेशन के कारण है। मेरे पास मेरी एकता/कंपिज़ डेस्कटॉप वातावरण टूट गया है और मुझे अपने जीयूआई को काम पर वापस लाने के लिए मेटासिटी के साथ ग्नोम का एक हल्का संस्करण स्थापित करना पड़ा, लेकिन कुछ चीजें ठीक से काम नहीं कर रही थीं।

2
John Doe 27 अप्रैल 2018, 22:52

1 उत्तर

सबसे बढ़िया उत्तर

हल किया। यह मेरे उपयोगकर्ता वातावरण में कुछ गलत कॉन्फ़िगरेशन के कारण था। मैंने अपने लैपटॉप पर एक और उपयोगकर्ता बनाया है और अब Google साइन इन काम करता है।

2
John Doe 27 अप्रैल 2018, 23:28