Wie erstelle ich einen langlebigen Seiten Access Token für die Facebook Graph API

Für eine Anwendung benötigte ich einen Access Token, welcher per Graph API Daten von Facebook ermitteln konnte. Zunächst erstellte ich mir einen Zugriffsschlüssel für eine App. Hierzu rief ich den Endpunkt “oauth/access_token” der API mit den entsprechenden Credentials auf.

Im Umgang mit diesem AccessToken zeigte sich leider, dass dieser nicht alle Seiten von Facebook erreichen konnte, sprich Veranstaltungen Ü18 oder mit Alkoholbezug wurden mir mit diesem Token verwehrt. Nach ein bisschen Recherche las ich, dass ein Page Access Token für meine Zwecke besser geeignet sei. Doch wie bekommt man einen solchen, welcher auch noch langlebig ist?

Die Lösung ist wie folgt: Zunächst müsst ihr euren Facebook User der Seite zuordnen und ihn mit manage_pages authorisieren. Hierzu gebt ihr im Browser die Url “https://www.facebook.com/dialog/oauth?client=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=manage_pages” ein. Es öffnet sich ein Fenster von Facebook zur Rechtevergabe. Dort einfach die Seite mit allem authorisieren. Nun geht man in den Facebook Graph API Explorer. Diesen erreicht man unter der Url https://developers.facebook.com/tools/explorer/.

Dort gibt man in das Texteingabefeld unter dem Zugriffsschlüssel “me/accounts/” ein. Nun werden einen in der Ausgabe alle Seiten aufgelistet zu denen man einen Bezug hat. Dort sucht ihr die entsprechende Seite aus und kopiert euch den AccessToken und fügt ihn in das obere Texteingabefeld Zugriffsschlüssel ein.

Alle Facebook Seiten im Überblick.
Alle Facebook Seiten im Überblick.

Nun klickt man links in dem Textfeld, wo der Zugriffsschlüssel angezeigt wird, auf das “i” im blauen Punkt. Es öffnet sich ein Fenster mit Informationen zum Zugriffsschlüssel. In der dort angezeigten Tabelle seht ihr unter Ablaufzeit, dass euer Schlüssel einen Ablaufzeitpunkt hat. Er ist also noch nicht langlebig. Unten rechts in dem Fenster findet sich ein Button “Im Zugriffsschlüssel-Tool öffnen”. Diesen klickt man und es öffnet sich eine neue Seite.

Dort sieht man erneut Informationen zum AccessToken und unten rechts gibt es einen Button “Zugriffsschlüssel verlängern”. Diesen klickt man und nun hat man einen AccessToken, welcher erst abläuft, sobald der User, für welchen man der Seite Rechte erteilt hat, sein Passwort ändert oder seinen Account löscht.

Nachträgliches Ändern eines in einer WebApp erstellten WebJobs in Azure

Ich hatte vor kurzem das Szenario, dass ich einen WebJob über eine Azure WebApp angelegt habe und im Nachhinein den Zeitplan des Jobs ändern wollte. Es war ein ausgelöster WebJob für den ich den CRON-Ausdruck “0 6 * * * *” als Trigger definiert hatte. Nun lief der WebJob allerdings jede Stunde zur Minute sechs. Allerdings wollte ich, dass der Job jeden Morgen in der Frühe um 06:00 Uhr laufen sollte. Für diese Vorgabe hätte ich den CRON-Ausdruck “0 0 6 * * *” benötigt. Nun suchte ich nach einer Möglichkeit den von mir erstellten Trigger im Nachhinein zu bearbeiten. Leider gibt es hierfür in der WebJobs Ansicht in der WebApp keine Möglichkeit.

Man muss es etwas komplizierter angehen. In der AppService Ansicht wählt man aus der Navigation am linken Rand den Eintrag “Erweiterte Tools”. In der sich öffnenden Ansicht klickt man auf “Gehe zu”. Auch zu erreichen über den Link https://{WebServiceName}.scm.azurewebsites.net .

Nun öffnet sich ein neuer Browsertab zu Kudu. Dort wählt man aus der oberen Navigation “Debug Console” und dort “CMD”. Es öffnet sich eine Art Dateibrowser. Dort finden wir eine Datei namens “settings.job” unter site/wwwroot/App_Data/jobs/triggered/{NameWebJob}/.

Azure DebugConsole
Azure DebugConsole

In der Datei “settings.job” findet sich nun die CRON Angabe, welche man manuell ändern und speichern kann. Hierfür klickt man einfach auf den Stift links neben dem Dateinamen. Es öffnet sich eine Art Texteditor in dem man nun den Eintrag editieren und speichern kann. Im Anschluss habe ich den App Service noch neu gestartet.

Text Editor zum Ändern der CRON-Angabe
Text Editor zum Ändern der CRON-Angabe

Wer noch weitere Informationen zu den CRON Asudrücken benötigt findet diese unter https://docs.microsoft.com/de-de/azure/app-service/web-sites-create-web-jobs#cron-expressions. Auf der Seite finden sich auch weitere Informationen zum allgemeinen Erstellen eines WebJobs.

Performanceverbesserung durch bewussten Einsatz von Selektoren

Zur Performancesteigerung sollte man beim Einsatz von jQuery Selektoren darauf achten diese bewusst einzusetzen und den Einsatz des gleichen Selektors hintereinander zu vermeiden.

Schlecht

$('#example').show(100);
$('#example').hide(100);
$('#example').show(100);

Besser

var example = $('#example');
example.show(100);
example.hide(100);
example.show(100);

Optimal

var example = $('#example');
example.show(100).hide(100).show(100);

PHP Tutorial – Einstieg: 11# switch-Anweisung (case)

In diesem Videotutorial möchte ich euch zeigen wie man eine switch-Anweisung in PHP programmiert. Gerade bei einem Abgleich von mehreren Werten ist diese gegenüber der if-Anweisung klar im Vorteil.


$test = 5;

 switch ($test)
 {
     case 3:
          echo "Die Zahl lautet 3.";
          break;
     case 5:
          echo "Die Zahl lautet 5.";
          break;
     default:
          echo "Keine Übereinstimmung gefunden.";
          break;

 }

In diesem Beispiel würde “Die Zahl lautet 5.” ausgegeben.

PHP Tutorial – Einstieg: 10# If/Else – Bedingungsverknüpfung – Verschachtelte if-Anweisung

In diesem Video geht es um die If/Else Anweisung in PHP, das Verknüpfen von Bedingungen mittels AND, OR, XOR und Negation und die verschachtelte if-Anweisung.

//if-else Struktur
if (Bedingung){

     Anweisung1

}

else {

     Anweisung2

}

//Verschachtelete if/else
if (Bedingung){

     if (Bedinung2)

          Anweisung1

     else

          Anweisung2

}

else {

     Anweisung3

}

PHP Tutorial – Einstieg: 7# Operatoren für Zeichenketten in PHP

In diesem Video geht es um Operatoren für Zeichenketten in PHP. Hierzu werden Beispiele zum Verketten und Vergrößern von Strings gegeben.

Verketten:

$a = “Hallo “;

$b = “Welt!”;

$c = $a.$b;

Vergrößern:

$a = “Hallo “;

$a .= “Welt”;

Sowohl eine Ausgabe von $c aus dem Verketten-Beispiel, als auch das Ausgeben von $a im Vergrößern-Beispiel würden “Hallo Welt!” liefern.

Des weiteren wird noch auf die Bedeutung von Gänsefüßchen und Hochkommata eingegangen.

PHP Tutorial – Einstieg: 6# Arithmetische Operatoren in PHP

Mit arithmetischen Operatoren können mathematische Berechnungen durchgeführt werden. Sie erwarten entweder Ganzzahl- oder Dezimalzahlen Variablen oder feste Werte als Parameter und liefern ein numerisches Ergebnis zurück.

Beispiele:

Addition: $c = $a + $b;

Subtraktion: $c = $a – $b;

Multiplikation: $c = $a * $b;

Division: $c = $a / $b;

Modulo: $c = $a % $b;

Präinkrement: $c = ++$a + $b;

Postinkrement: $c = $a++ + $b;

Zuweisungsoperatoren: $a += 5;

Auch wenn $c=$a+$b ebenfalls das gewünschte Ergebnis liefert, so ist es doch ratsam zwischen den Variablen und den Operatoren mit Leerzeichen zu arbeiten, da es den Code einfacher zu lesen macht.

PHP Tutorial – Einstieg: 5# Variablen in PHP

Variablen dienen dazu, Informationen zu speichern, die für weitere Ausführungen des Programms notwendig sind. Der Datentyp einer Variablen ergibt sich durch den Datentyp des Wertes, welcher der Variablen zugewiesen wird. Für die Zuweisung eines Wertes wird das einfache Gleichheitszeichen verwendet. Bestimmte Namenskonventionen sind beim Deklarieren einer Variablen in PHP zu beachten.