Erstellen Sie einen datengesteuerten Twitter-Avatar

Autor: Randy Alexander
Erstelldatum: 25 April 2021
Aktualisierungsdatum: 16 Kann 2024
Anonim
graph2vec: Verteilte Darstellungen von Graphen lernen | ML mit Grafiken (Paper Walkthrough)
Video: graph2vec: Verteilte Darstellungen von Graphen lernen | ML mit Grafiken (Paper Walkthrough)

Inhalt

Zunächst ein Haftungsausschluss: Ich bin kein Programmierer, sondern nur jemand, der Code verwendet, um Dinge zu erstellen.

Glücklicherweise gibt es für Leute wie mich und diejenigen, die verschiedene Teile des Internets miteinander verbinden möchten, eine zunehmende Anzahl von Plattformen und APIs, die zusammenarbeiten. In vielen Projekten muss man verstehen, was Plattformen können, und dann das blaue Kabel anschließen und grüner Draht (aber niemals der rote Draht!).

Eine dieser Plattformen ist Google Apps Script, eine Cloud-basierte Skriptsprache, mit der eine API für viele Apps von Google verfügbar gemacht wird, z. B. für Tabellenkalkulationen, Karten, E-Mails und Kalender. Wenn Sie Google Apps wie Google Mail oder Google Text & Tabellen verwenden, haben Sie jetzt über diese APIs Zugriff auf Ihre Daten. Es verwendet eine einfache JavaScript-ähnliche Syntax. Wenn Sie also zuvor ein bisschen Frontend-Scripting durchgeführt haben, werden Sie sich in kürzester Zeit in Google Apps Script zurechtfinden.

Diese Art von Tools macht es wirklich einfach, schnell und einfach, eine Idee zu demonstrieren, oft mit sehr wenig Code. Hier ist ein Beispiel für ein kürzlich von mir gebautes Spielzeug, einen datengesteuerten Twitter-Avatar.


Was ich gebaut habe

Wenn Sie sich mein Twitter-Konto ansehen, sehen Sie, dass mein Avatar ein farbiger Block mit einer Nummer ist. Dies ist die ungefähre Anzahl von E-Mails in meinem Posteingang, die alle 30 Minuten aktualisiert werden. Aufgrund der Einfachheit von Google Apps Script habe ich ungefähr 30 Minuten gebraucht, um mich zusammen zu hacken.

Die Idee

Vor ein paar Jahren habe ich gelesen Everyware von Adam Greenfield, eine wunderbare Einführung in die Konzepte des Ubiquitous Computing. Es schlug eine Welt vor, in der die Kunst, die an unseren Wänden hing, mehr als ein hübsches Bild zum Anbieten, aber auch eingebettete Umgebungsinformationen bieten würde. Vielleicht zeigte das Bild eine ruhige See bei schönem Wetter oder raues, unruhiges Wasser und einen Sturm, wenn Ihre Kreditkarte im Rückstand war. Viel subtiler als ein blinkendes Symbol oder ein Ping-Alarm.

Einige Jahre später hatte ich einen freien Morgen, um etwas Ähnliches zu machen. Im Allgemeinen ist die Anzahl der E-Mails in meinem Posteingang ein gutes Maß dafür, wie viele Dinge ich gerade mache. Wenn ich beschäftigt bin, antworte ich langsam und die E-Mails bauen sich auf. Was wäre, wenn ich die Anzahl der E-Mails in meinem Posteingang mit meinem Twitter-Konto verbinden und den Avatar durch ein Bild "Rot / Bernstein / Grün" oder "Ruhig / Beschäftigt / Überladen" ersetzen könnte?


Zugriff auf Ihren Posteingang

Öffnen Sie zunächst ein neues Google Apps-Skript.

Sie können entweder script.google.com besuchen

oder

Besuchen Sie drive.google.com und erstellen Sie> Mehr> Skript

Klicken Sie auf "Leeres Projekt erstellen" und Sie erhalten sofort einen Code-Editor mit einer leeren Methode namens myFunction ():

Funktion myFunction () {}

Hier legen wir unseren Code ab, um auf Google Apps zuzugreifen und diese zu steuern.

Die APIs, die Google für seine Plattformen unter developer.google.com/apps-script bereitstellt, sind hervorragend dokumentiert. Aus diesem Grund interessieren uns hauptsächlich die Google Mail-APIs, die sich unter developer.google.com/apps-script/class_gmailapp befinden.

Wie Sie aus der Liste der Methoden ersehen können, können Sie Dutzende von Aufgaben ausführen, z. B. eine Liste aller Ihrer Spam-Nachrichten (praktisch), Google Mail (sehr praktisch) durchsuchen, bestimmte Konversationen abrufen (sehr praktisch) und abrufen Eine Liste aller Konversationen in Ihrem Posteingang (für diese Aufgabe perfekt!).


Funktion myFunction () {// Abrufen der Threads (Konversationen) aus meinem Posteingang var threads = GmailApp.getInboxThreads ();}

Sie können jetzt auf Ausführen klicken und sehen, was Ihr Skript tut. Wenn Sie Google Scripts zum ersten Mal verwenden, werden Sie nach einer Reihe von Berechtigungen gefragt, hauptsächlich, damit Google Scripts auf Ihren Posteingang zugreifen kann, und so weiter. Sie gelangen zu einer Seite mit der Aufschrift "Ihr Skript ist jetzt zum Ausführen berechtigt", die Sie schließen und erneut auf "Ausführen" klicken können.

Et voila. Nichts.

OK - dies bedeutet nicht viel mehr als auf Ihren Posteingang zuzugreifen und eine Liste Ihrer E-Mails abzurufen. Wenn Sie JavaScript verwenden, können Sie sich die Ausgabe normalerweise mithilfe von ansehen aufmerksam() oder Schreiben der Antwort auf die HTML-Seite oder einen Textbereich. Da dieses Skript jedoch in der Cloud ausgeführt wird, gibt es keine visuelle Schnittstelle zum Anzeigen der Ausgabe. Daher müssen wir die Logger-Klasse verwenden.

Funktion myFunction () {// Abrufen der Threads (Konversationen) aus meinem Posteingang var threads = GmailApp.getInboxThreads (); Logger.log (Threads);}

Führen Sie dieses Skript aus. Klicken Sie nach der Ausführung auf das Menü "Ansicht" und wählen Sie "Protokolle" (oder drücken Sie Strg + Eingabetaste). Angenommen, Sie haben eine E-Mail in Ihrem Posteingang, sehen Sie Folgendes:

[GmailThread, GmailThread]

Dies ist eine Reihe Ihrer E-Mails. Sie können hier auf bestimmte Eigenschaften der Konversationen zugreifen, aber ich bin nur an der Anzahl der Konversationen interessiert.

Durch Ändern des Codes können wir uns nur mit der Anzahl und nicht mit den Threads selbst befassen.

Funktion myFunction () {// Abrufen der Anzahl der Threads (Konversationen) aus meinem Posteingang var inboxcount = GmailApp.getInboxThreads (). length; Logger.log (Posteingang);}

Super einfach.

Ändern Sie Ihren Avatar

Als nächstes möchte ich ein von mir geschriebenes PHP-Skript aufrufen, das diese Daten verwendet und ein geeignetes Bild für die Anzahl der E-Mails in meinem Posteingang hochlädt.

Mit Google Apps Script können wir eine Remote-URL über das aufrufen URLFetchApp:

Funktion myFunction () {// Abrufen der Anzahl der Threads (Konversationen) aus meinem Posteingang var inboxcount = GmailApp.getInboxThreads (). length; // Posteingangsgröße an Remote-Skript senden UrlFetchApp.fetch ("http://yourserver.com/updateavatar/script.php?count=" + Posteingangcount);}

Diese einzelne Zeile ruft über HTTP mein Remote-Skript auf, zusammen mit der Anzahl der Posteingänge als Abfragezeichenfolgenvariable. Das PHP-Skript verwendet dann die hervorragende Twitter-Async-Bibliothek von @jmathai, um eine Verbindung zur Twitter-REST-API herzustellen und meinen Avatar durch ein ausgewähltes Bild zu ersetzen:

? php // verwendet https://github.com/jmathai/twitter-asyncinclude ’EpiCurl.php’; include 'EpiOAuth.php'; include 'EpiTwitter.php'; // Berechnen Sie anhand der Anzahl der Posteingänge, welches Bild angezeigt werden soll. $ inboxcount = 0; if (isset ($ _GET [’count’])) $ inboxcount = (int) $ _ GET [’count’]; if ($ inboxcount 10) {$ imagename = ’n’. $ inboxcount; } else {$ imagename = lid ($ inboxcount / 10); if ($ imagename> 5) $ imagename = 5; } $ filename = dirname (__FILE__). ’/’. $ imagename. ’.Png’; // schiebe das Bild auf Twitter // du musst deine verschiedenen Twitter-API-Schlüssel von https://dev.twitter.com/apps/new $ twitterObj = new EpiTwitter ($ consumer_key, $ consumer_secret, $ token, $) erhalten Geheimnis ); $ twitterObj-> post (’/account/update_profile_image.json’, Array (’@image’ => "@ $ filename")); // ja, das ist wirklich so einfach?>

Aktualisierung des Avatars jede Stunde

Schließlich müssen wir das Skript jede Stunde ausführen, um den Avatar auf dem neuesten Stand zu halten. Google Apps Script hilft erneut.

Im Menü "Ressourcen" können Sie auf eine Liste von Triggern zugreifen. Mit Ereignissen und Triggern können Sie Skripte ausführen, die externen Einflüssen ausgesetzt sind, z. B. dem Vergehen der Zeit oder dem Öffnen oder Bearbeiten von Dateien. Wir wollen einen Trigger schreiben, der das Skript jede Stunde ausführt.

Wenn Sie auf "Neuen Trigger hinzufügen" klicken, werden einige einfache Dropdown-Optionen angezeigt, in denen wir die Funktion auswählen, die wir ausführen möchten (myFunction), das Ereignis, an dem wir uns beteiligen möchten (Zeitgesteuert), an welcher Veranstaltung wir interessiert sind (Stunden-Timer) und dann die Daten selbst (Jede Stunde). Dies ist effektiv ein Cronjob.

Jetzt können wir auf "Speichern" klicken, weggehen und jede Stunde wird die Remote-URL aufgerufen.

Natürlich beschränken wir uns nicht nur darauf, einen Avatar zu aktualisieren oder ihn auf der Grundlage der Posteingangsgröße zu erstellen. Die Google Apps Script-API ist umfangreich. Sie ermöglicht es Ihnen, Dokumente zu erstellen, viele der Google-Dienste miteinander zu verbinden und Ihr Google im Allgemeinen zu automatisieren Apps.

Ich habe beschlossen, eine Remote-URL aufzurufen, damit mein eigener Server das schwere Heben ausführen kann (z. B. das Hochladen von Bildern, das Behandeln der OAuth usw.), aber tatsächlich konnte Google Apps mithilfe von OAuth- und HTTP-Aufrufen eine direkte Verbindung zur Twitter-API herstellen, was bedeutet, dass ich dies konnte Führen Sie ein Skript vollständig in der Google-Infrastruktur aus, ohne dass ein Hosting erforderlich ist.

Die Möglichkeit, eine Idee mit nur wenigen Zeilen wirklich einfachen Codes zu demonstrieren, ist ein langer Weg. Vielleicht ist das Malen eines stürmischen Meeres nicht so weit entfernt.

Verwaltung Auswählen
Aufgedeckt: Die Zukunft des filmischen Geschichtenerzählens in Videospielen
Weiter

Aufgedeckt: Die Zukunft des filmischen Geschichtenerzählens in Videospielen

Von den vielen grafi chen Raffine en, die zu einem fe ten Be tandteil de modernen Video pielde ign geworden ind, kann man mit Recht agen, da die in filmi chen Zwi chen equenzen bewie ene Exzellenz nic...
Bewertung: Draplin Design Co: So ziemlich alles
Weiter

Bewertung: Draplin Design Co: So ziemlich alles

Mit einer Fülle von Arbeiten und einer lu tigen per önlichen Note i t Pretty Much Everything ein wertvoller und informativer Einblick in da Leben de De igner Aaron Draplin. Umfa ende ammlung...
Die besten Mac Mini-Angebote: Sparen Sie viel beim kleinen Kraftpaket
Weiter

Die besten Mac Mini-Angebote: Sparen Sie viel beim kleinen Kraftpaket

Wir haben in die em Artikel die be ten Mac-Mini-Angebote zu ammenge tellt, da einige Aufmerk amkeit im Jahr 2020 dazu geführt hat, da Apple klein ter Mac noch lange nach dem er ten Veröffent...