Έχετε κάνει developing στη google;

Ήθελα να βάλω πιο χαβαλετζίδικο τίτλο, αλλά σκέφτηκα ότι διαβάζει και κόσμος (όπου μεταξύ μας ούτε αυτό με νοιάζει, όχι με την έννοια της αδιαφορίας, αλλά λόγω άποψης ότι δεν τρέχει και τίποτα να εκφράζεσαι όπως γουστάρεις κι ας στραβώνει ο άλλος. Τέλος πάντων). Ωστόσο ο τίτλος παίζει να είναι και άκυρος και θα χαρώ αν έχει όρεξη κάποιος mod να τον αλλάξει σε κάτι πιο σωστό.

Αυτό που εννοώ είναι αν έχετε μπλέξει με OAuth και γενικά με αυτές τις σελίδες Быстрый старт Python, Быстрый старт Python  |  Gmail  |  Google for Developers. Δεν ξέρω, κομπιουτεράδες είστε όλο και κάτι θα νιώθετε από αυτά.

Το θέμα μου είναι, ότι ήθελα να φτιάξω (να φτιάξω! Λες κι εςγώ θα το έγραφα! Ας είναι καλά το chatgpt),
ένα gmail widgetάκι.
θυμάμαι παλιά στο gnome2 είτε από screenlets είτε από κάτι άλλο, είχα ένα όμορφο εικονίδιο που παρίστανε έναν χαρτοφάκελο και είχε και στρογγυλή κόκκινη κουκιδίτσα με τον αριθμό των αδιάβαστων mail. Πράγμα που σήμαινε ότι ήταν διαρκώς online και τέλος πάντων λειτουργούσε.

Τα έχει το android αυτά τα κόλπα και είναι ζήτημα ρε παιδιά. Γιατί να μην έχεις και στο desktop σου τέτοιου είδους ανέσεις; Ειδοποιήσεις, άμεση πρόσβαση από κλικ στο popup κι άλλα τέτοια, που βεβαίως σε κάποιους μπορεί να την σπάνε αλλά εμένα μου αρέσουν. Είναι τζιβιτζιλίδικα :sweat_smile:

Ζήτησα λοιπόν από τη τεχνητή χαζομάρα να μου φτιάξει κάτι και μου έδωσε αυτό

import os
import pickle
import base64
import google.auth
import google.auth.transport.requests
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build

# Ορίστε τις απαραίτητες παραμέτρους για την εξουσιοδότηση OAuth2
SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']
CREDENTIALS_FILE = '~/gmail-widget/client_secret_Ο-ΑΡΙΘΜΟΣ-ΜΟΥ-ΕΔΩapps.googleusercontent.com.json'
TOKEN_FILE = 'token.pickle'

def authenticate():
    creds = None
    if os.path.exists(TOKEN_FILE):
        with open(TOKEN_FILE, 'rb') as token:
            creds = pickle.load(token)

    # Εάν δεν υπάρχουν ή έχουν λήξει τα διαπιστευτήρια, ξεκινήστε τη ροή εξουσιοδότησης
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(google.auth.transport.requests.Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                CREDENTIALS_FILE, SCOPES)
            creds = flow.run_local_server(port=0, authorization_prompt_message='')
            creds.token = [ΕΝΑ -- TOKEN]

        # Αποθήκευση των διαπιστευτηρίων για μελλοντική χρήση
        with open(TOKEN_FILE, 'wb') as token:
            pickle.dump(creds, token)

    return creds

def get_unread_count():
    creds = authenticate()
    service = build('gmail', 'v1', credentials=creds)

    # Ανάκτηση των αδιάβαστων μηνυμάτων
    results = service.users().messages().list(userId='me', q='is:unread').execute()
    unread_count = results.get('resultSizeEstimate', 0)

    return unread_count

# Εμφάνιση του αριθμού των αδιάβαστων μηνυμάτων
# Εμφάνιση του αριθμού των αδιάβαστων μηνυμάτων
creds = authenticate()
if creds:
    unread_count = get_unread_count()
    print(f'Unread messages: {unread_count}')

μετά έκανα login εκεί στη google και μου έλεγε

και σκιάχτηκα λίγο. Λέω λες να με χρεώσει σε καμιά κάρτα 280 δολλάρια;

Έκανα όλα τα κόλπα εδώ

πέντε και έξι φορές. Πήρα αυτό το ρημάδι το token, κατέβασα credential, έκανα τη φάση με το consent screen κάπου άνοιξα και την κοσνσόλα τουςκι έδινα κάτι τέτοια

gcloud projects list
gcloud auth list
gcloud app describe --project=my-gmail-widget
gcloud app create
gcloud app create --project=my-gmail-widget
gcloud app deploy
gcloud auth list
gcloud config set account ΕΓΩ@gmail.com
gcloud app describe --project=my-gmail-widget
gcloud projects get-iam-policy my-gmail-widget
gcloud auth application-default print-access-token

Όλα με τη βοήθεια του chatgpt που μου έλεγε τα βήματα κι εξηγούσε, αλλά και του google translate (όσο νιώθω από ντιβελοπεράδικα, νιώθω κι από εγγλέζικα).

Έτρεχα τον κώδικα και λάθος δεν έβγαζε. Αλλά όλες τις φορές μου έλεγε ότι η GOOGLE απέκλεισε την εφαρμογή.

Πάτησα και το “Λεπτομέρεις σφάλματος” και μετά το “Τεκμηρίωση πργραμματιστή”. Μου είπε αυτά;

Projects used in Development, Testing, or Staging tiers

In order to comply with Google OAuth 2.0 Policies, we recommend that you have different projects for testing and production environments. We recommend that you only submit your app for verification if you want to make your app available to any user with a Google Account. Therefore, if your app is in the development, testing, or staging phases, verification isn’t required.

If your app is in the development or testing phases, you can leave the Publishing Status in the default setting of Testing. This setting means that your app is still in development and is only available to users you add to the list of test users. You must manage the list of Google Accounts that are involved in the development or testing of your app.

Δεν λέω να ασχοληθείτε ρε παιδιά, εννοείτε. Αλλά σχολιάστε λίγο. Γιατί τόση δυσκολία;
Είναι φυσιολογικό; Είναι που τα αγγλικά μου και η εμπειρία μου είναι στο υπόγειο; Εσείς θα το κάνατε σε 2 λεπτά ας πούμε;
Αξίζει να το παλεύω μπας και μάθω σιγά σιγά και ίσως να δημιουργήσω κάτι της προκοπής;
Θα μου ζητήσει λεφτά;
Σχολιάστε λίγο βρε.

1 «Μου αρέσει»

@anon74452261 άστο στη δοκιμαστική λειτουργία σου λέει…

  1. Τα εργαλεία AI για codding είναι πολύ ισχυρά εργαλεία. Και όσο ποιο ισχυρό είναι ένα εργαλείο, τόσο ποιο ισχυρός πρέπει να είναι και ο χειριστής του. Ο καθένας μπορεί να σκάψει ένα χαντάκι με μια τσάπα, αλλά η χρήση ενός εκσκαφέα θέλει γνώση.
    Ποτέ λοιπόν μην χρησιμοποιείς μια γραμμή κώδικα που δεν την καταλαβαίνεις ή δεν θα μπορούσες να γράψεις μόνος σου με λίγο διάβασμα και ψάξιμο. Ειδικά όταν κάνεις χρήση API και ευαίσθητων δεδομένων.

  2. Το μήνυμα λάθους σου λέει πως δεν μπορείς να κάνεις χρήση της εφαρμογής χωρίς κάποια διαδικασία επαλήθευσης απο την Google, για δοκιμές και μέχρι να την υποβάλεις για έγκριση μπορείς να κάνεις whitelist κάποια συγκεκριμένα emails.

Το παραπάνω είναι καλό πράγμα. Δε θα ήθελα να κατεβάσω κάποια εφαρμογή που να βλέπει τα emails μου, χωρίς να έχει περάσει από κάποιο έλεγχο. Μπορεί πχ να την έχει γράψει το chatGPT και ο προγραμματιστής να μην έχει ιδέα τι κάνει :innocent:

Τωρα σίγουρα υπάρχουν πολλά applets που σου παρέχουν αυτή την ευκολία.

Το μήνυμα λάθους σου λέει πως δεν μπορείς να κάνεις χρήση της εφαρμογής χωρίς κάποια διαδικασία επαλήθευσης απο την Google, για δοκιμές και μέχρι να την υποβάλεις για έγκριση μπορείς να κάνεις whitelist κάποια συγκεκριμένα emails.

Εγώ νόμιζα ότι η google θα μου έδινε τη δυνατότητα να φτιάξω κάτι για μένα και να μη χρειάζεται να το δουν άλλοι χρήστες. Αμάν δηλαδή. Γιατί δεν τους φτάνει το όνομα χρήσατη και ο κωδικός του. Όλους τους browsers τους αφήνει. Τον thunderbird το ίδιο.

Μου διαφεύγει το τι παίζεται με αυτά και γιατί είναι έτσι. Τέλος πάντων. Εγώ είχα όλη την καλή διάθεση να μην τους ενοχλήσω :innocent: αλλά όταν δικίομασα ένα plasmoid για αυτή τη δουλειά μου έλεγε πάλι ότι “αποκλείστηκε η πρόσβαση”. και τι ζητάω ο καψερός; Μια τζιβιτζιλίδικη κατάσταση για τα mail μου. Το δοκίμασα και με το tickr που είναι κι αυτό γουστόζικο. Μου λέει τις ειδήσεις ρολάροντας κείμενο. Γιατί να μη λέει και τα mail μου; Του πέρασα αυτό https://mail.google.com/mail/feed/atom

(του tickr. Κάτι σαν το Akregator είναι αλλά πιο τσαχπίνικο, το ξέρετε έτσι;)

μου ζήτησε όνομα και κωδικό και μετά τα ίδια. Δεν επιτρέπει. Το πρόβλημα πιο είναι;
Ότι τα άτομα του tickr ή ο προγραμματιστής του τάδε plasmoid που το έχει ανεβάσει στο kde, θα δει το κωδικό μου; Σιγά! και από τη mozilla δεν μπορούν να μας την κάνουν άμα θέλουν;

Ας πού με κάτι άλλο. Asfodelus ποια άλλα applets το κάνουν αυτό ρε φίλε;

Και κάτι άλλο. Λες ότι καλό είναι να μην ασχολούμε με αυτό απ’ ό,τι κατάλαβα σωστά;
Τι άλλο μου μένει να κάνω όμως; να πριν μέρες κατάφερα να καταλάβω
(στο περίπου βέβαια! Σιγά μην τα καταλάβω πλήρως)
το τι φάση είναι ο home assistant. Έπεσε και το μάτι μου στον Κίτσο του φίλου μας του Dr. Android που μας έχει διαφωτίσει κι εδώ μέσα (και γουστάρω το έργο του) και είπα να κάνω κάτι παραπάνω με το text to speech και το αντίστροφο κι έμπλεξα πάλι με τα ντιβελοπεράδικα της google. Κάτι με dialogflow και τέτοια. Δυσικά αποτυχία ήτταν η προσπάθειά μου κι έσβησα τα project όλα (ΟΚ παίζει να γελάνε άμα δούνε εκεί στη google). Αλλά τι να κάνω; Να περιμένω την τύχη μου μπας και φάει φλασιά κανένας και φτιάξει μια κατάσταση που έχω φανταστεί και θα ήθελα να την έχω; Ή να περιορίσω τα γούστα μου προσαρμοζόμενος στο τι κυκλοφορεί μόνο και είναι διαθέσιμο για μένα;
Τέλος πάντων και πάλι.

nikaskonstantinos τι σημαίνει αυτό ρε φίλε; Να το αφήσω στη δοκιμαστική λειτουργία; Ότι κάποια στιγμή θα το δούνε και μπορεί να μου δώσουν πέρασμα;

Υ.Γ. Α και κάτι άλλο ρε μάγκες. Τι φάση είναι αυτό με τα 280 δολάρια; Δεν καταλαβαίνω. Και η amazon στο AWS μου έλεγε πάλι κάτι για λεφτά και τραπεζική κάρτα. ΆμαΆμα δηλαδή γίνω χάι ντιβελοπάς μια μέρα (Γιατί αν γίνω, χάι θα είμαι. Τι νομίζεις δηλαδή) θα πρέπει να πληρώνεις για να χρησιμοποιείς τις υπηρεσίες τους και να φτιάχνεις πράγματα;

Ζητώ ταπεινά συγνώμη, ο τρόπος έκφρασης μου καμία φορά είναι λίγο απότομος. Ειλικρινά είμαι ο τελευταίος που θα αποτρέψω κάποιον απο το να μάθει προγραμματισμό και να ασχοληθεί. Για αυτό τον λόγο φτιάξαμε και αυτό το μέρος άλλωστε, για να μπορούμε να βοηθάμε ο ένας τον άλλον με όποιες γνώσεις μπορεί να έχουμε.

Είναι εξαιρετικό αυτό που κάνεις και σε εκτιμώ και σε θαυμάζω. Και που σιγά μην καταλάβεις; Γιατί; Χαζός είσαι; Μια χαρά τα πας, κανένας δεν έμαθε τα πάντα σε μια μέρα και είμαι σίγουρος πως θα καταφέρεις πολύ περισσότερα στο μέλλον. Τα πάντα θέλουν χρόνο και υπομονή. Αν οποιοσδήποτε προσπαθήσει να στήσει το home assistant θα φάει τα μούτρα του. Η μόνη διαφορά είναι απλά πόσο καιρό θα πάρει μέχρι να τα καταφέρει.

Αυτό που σου λέει χωρίς να έχω ασχοληθεί είναι πως θα πρέπει να πας κάπου και να βάλεις ότι το δικό σου email είναι εντάξει για τη χρήση αυτού που έφτιαξες. Αλλά δε θα μπορώ εγώ ή οποιοσδήποτε άλλος να κάνει χρήση της συγκεκριμένης εφαρμογής που έφτιαξες. Την αφήνεις στο testing, δεν είναι ανάγκη να προχωρήσεις σε δημοσίευση της και έχεις λύσει το πρόβλημα σου. Αν θέλεις να το δημοσιεύσεις θα πρέπει να περάσει απο μια διαδικασία ελέγχου, όπως περνάνε όλες οι εφαρμογές που υπάρχουν στο play store.

Όσο για την χρήση του API δεν είναι δωρεάν. Δες για παράδειγμα τον χαμό με την απεργία που συμβαίνει αυτή την στιγμή στο Reddit γιατί αύξησε τις τιμές. Το ίδιο και οι υπηρεσίες της Amazon. Σου δίνουν λίγες χρήσεις ή μήνες για να δοκιμάσεις την υπηρεσία και μετά θέλουν χρήματα. Τα 280 ευρώ που σου έδωσε είναι υπεραρκετά τυπικά να περιμένεις λίγα σεντς, αλλά υπόψην δεν ξέρω την τιμολογιακή της πολιτική και καλό είναι να το παρακολουθείς. Όταν θα λήξει η δωρεάν περίοδος ίσως να πρέπει να πάρεις κάποια credits, το κόστους τους δεν ξέρω πόσο είναι, αλλά δε νομίζω να θέλει περισσότερο από ένα σουβλάκι.

ΥΓ: Δεν χρησιμοποιώ κανένα σχετικό applet αυτή τη στιγμή, αλλά υπάρχουν σιγουρα πολλά και ελπίζω κάποιον να γνωρίζει κάποιο. Για να τα χρησιμοποιήσεις θα πρέπει να συνδέσεις το applet με το Google. O κάθε προγραμματιστής που φτιάχνει κάτι τέτοιο δεν γνωρίζει τους κωδικούς, αλλά μπορεί να κάνει ίσως πολύ κακά πράγματα όπως πχ να στέλνει μηνύματα σαν εσένα.

Βρε μια χαζρά μου τα πες. Εγώ συγνώμη γιατί προφανώς η κλάψα μου δεν ήταν διακριτική. Απλά γενική κλάψα είναι με πηγή γενικότερη, όχι εσένα. Σε βλέπω πολύ φιλικά και ακόμα και χέρι όταν μου βάλεις θα το δεχτώ γιατί θα είναι από φίλο.

Ώστε έτσι λοιπόν; Κλατάλαβα. Θα το ξαναδώ. Κάπου θυμάμαι ότι προσθέτεις διευθύνσεις mail.
Άμα είναι χαμηκή η τιμή σε αυτές τις φάσεις όπως είπες, θεωρώ ότι αξίζει. Θα το κάνω. (Να ήξερα αγγλικά όπως ξέρετε εσείς γαμώτο! Το 1/10 του χρόνου και της προσπάθειας θα έκανα. Ωστόσο θα τα παρακολουθώ.

Ρε φίλε σ’ ευχαριστώ για τα ωραία λόγια που είπες, ειλικρινά με κάνεις να νιώθω ωραία με αυτό και θα το μεταδώσω κι εγώ κάπου. Αυτά είναι τα ωραία της κοινότητας.

1 «Μου αρέσει»

Δε νομίζω ότι απαιτείται χρέωση για το api της google, αλλά, όπως τα περισσότερα, έχει περιορισμό στη χρήση του(που για προσωπική χρήση δε νομίζω να έχεις πρόβλημα). Τουλάχιστον σύμφωνα με το google search όπου αναφέρει τα παρακάτω:
Gmail API is available for free, but it has certain daily usage limits for API calls. Daily usage: 1 billion API calls per day. Per User Rate Limit: 250 API calls per user per second.

Με τη χρήση AΙ (Blackbox)βλέπε παρακάτω
https://www.useblackbox.io/chat?q=Make%20a%20widget%20for%20Gmail%20on%20linux%20os
Για να δεις όλες τις επιλογές πάτησε το πλήκτρο Continue.

Ευχαριστώ φίλε μου. Θα το δω αμέσως.
Να ενημερώσω ότι τα κατάφερα με το θέμα του αποκλεισμού. 'Έπρεπε να με προσθέσω στους Δοκιμαστές χρήστες. Testers που λέμε στα μοντέρνα.

Η εφαρμογούλα τρέχει με επιτυχία πάνω από το μισό. Εμφανίζεται ένας χαρτοφάκελος που τον επεξεργαζόμουν μια ώρα στο gimp για να βγάλω το άσπρο γύρω γύρω από το png, ξέρετε. Η κουκιδίτσα δουλεύει και αν έχω 5 αδι´’αβαστα θα μου γράφει το 5. Αν πάω το ποντίκι πάνω στην κουκίδα μου βγαίνει popup (tooltip, αναδυόμενη σημείωση, πως αλλιώς το λένε;) με το κείμενο του mail. Δυστυχώς όχι όλων των αδιάβαστων, αλλά του πιο πρόσφατου μόνο. Στην πραγματικότητατα δείχνει όλα αλλά τα κλείνει αμέσως ένα ένα και φτάνει σοτ πιο πρόσφατο που αυτό παραμένει και μπορείς να το διαβάσεις.
Μένει τώρα να:

  • Του βάλω να ανοίγει με κλικ είτε το thunderbird, είτε μια εφαρμογή που θυμάμαι (Ρε που την είχα δει;) που είναι για το gmail. Δεν θυμάμαι καν πως λέγεται. Gmail-applet; Κάτι τέτοιο.
  • Να διορθώσω τα tooltips. Να τα βγάζει σε σεντονάκι και να φαίνον ται όλα. Διαχωρισμένα με γραμμοπύλα κιόλας αν γίνεται.
  • Να φαίνεται το όνομα του αποστολέα. Γιατί τώρα δείχνει κατευθείαν το κείμενο και μόνο.

Κάτι σαν αυτό το widget στο android τέλος πάντων

Αυτά.

Υ.Γ. Α ρε σεις! Το βλαμένο είδε το κλειδί API μου. Του το παρέθεσα κατά λάθος κάποια στιγμή που του έδειχνα πως είναι ο κώδικας στην τότε παρούσα φάση. Καμιά 7αριά γραμμές με χαρακτήρες, ξέρετε. Λέτε να το αλλάξω; Μπορεί κάποιος να μου κάνρει κάτι ή μπα; Πιο πολύ με αγχώνει ότι θα ψάχνω δυο ώρες για να το κάνω.