[PYTHON] Réponse automatique au formulaire Google pour surmonter la gestion des entrées / sorties Corona

introduction

Lors de la sortie du laboratoire en raison du virus corona, il est nécessaire de saisir l'heure d'entrée / sortie de la journée sur le formulaire Google.

C'est un projet pour le rendre entièrement automatique car c'est gênant de le faire tous les jours et j'oublie souvent de le saisir.

Lors de l'entrée ou de la sortie de la pièce, une personne est identifiée par authentification faciale à l'aide d'une caméra et les informations de cette personne sont automatiquement saisies / envoyées à l'aide du formulaire Google.

Cette fois, j'ai résumé la partie entrée / transmission automatique.

Comment remplir automatiquement

URL du formulaire Google (exemple) (https://docs.google.com/viewform?)

En ajoutant "usp = pp_url" après le formulaire de vue, nous vous informerons qu'il y a une pré-entrée.

Ensuite, comme il existe un numéro qui identifie chaque question dans le formulaire, recherchez la question div sur l'écran de vérification de Chrome et recherchez le numéro suivant dans la deuxième couche.

スクリーンショット 2020-11-07 12.57.41.png

Lorsque vous trouvez le nombre, ajoutez le paramètre sous la forme «entry.number = answer content». Si vous vous connectez sous la forme suivante, c'est ok

https://~/viewform?usp=pp_url&entry.1534939278=Tester Taro&entry.511939456='+student_id

Dans le cas d'un rapport d'entrée / sortie de laboratoire (mémo)

Dans le cas d'un laboratoire, vous devez entrer votre nom, votre numéro d'inscription scolaire et la date et l'heure d'entrée / sortie. Le numéro d'identification était le suivant.

Numéro d'identification de chaque entrée

Nom: 208832475 Numéro d'inscription étudiant: 913668226 Date et heure d'entrée / sortie: 1243542068 Remarques: 1484015294

Créer un programme

Maintenant que je connais le numéro d'identification, j'écrirai le programme Je vais.

Afin d'augmenter la polyvalence, l'url et le numéro d'identification qui dépendent de chaque formulaire Google sont résumés dans cfg.json.

form_url est avant viewform?.

cfg.json


{
    "form_url": "https://docs.google.com/forms/6_m-WWhmzw/",
    "entry": {
        "name": 2005620554,
        "id": 1045781291,
        "time": 1065046570
    },
    "output":{
        "name": "Tester Taro",
        "id": "00110220404",
        "time": "2020/11/7 13-19"
    }
}

form_.py


fname = "cfg.json"
with open(fname, "r") as f:
    cfg = json.load(f)

    #Créer un formulaire de réponse
    params = {"entry.{}".format(cfg["entry"][k]): cfg["output"][k] for k in cfg["entry"].keys()}
    res = requests.get(cfg["form_url"] + "formResponse", params=params)

#Vérifiez si vous pouvez répondre
if res.status_code == 200:
    print("Done!")
else:
    res.raise_for_status()
    print("Error")

Vous pouvez désormais envoyer automatiquement. (Seulement si vous n'avez pas besoin de vous connecter à votre compte Google)

référence

Je souhaite répondre automatiquement au formulaire Google à 17 heures tous les matins - Qiita

Gagnez un putain de questionnaire avec le robot de réponse automatique Google Form (Python3) --free (malloc (sizeof (MRM)));

Recommended Posts

Réponse automatique au formulaire Google pour surmonter la gestion des entrées / sorties Corona