Twitter API 2.0.0

License Agreement
GNU Lesser General Public License (LGPL)
Website
https://dev.ify.re
Supported Versions
Burning Board 4.0 / WCF 2.0
Burning Board 4.1 / WCF 2.1
WoltLab Suite 3.0

Includes a Twitter API to the WCF. This is for developers only.

Includes a Twitter API to the WCF. This is for developers only. This plugin alone is useless!
  • Version 2.0.0

    • Compatibility with WSC 3

  • Version 1.1.0

    • Significanlly reduced the APIs filesize by removing some functions which are obsolete now
    • The API doesn't require the access token and access token secret anymore; instead using the API key and API secret is enough
    • The API authenticates itself now via a authentication bearer token instead of the oAuth header

  • Version 1.0.6

    • Small fix..

  • Version 1.0.5


    • Now supports WCF 2.0 (Excludes WCF 2.2)

  • Version 1.0.4

    Lowers the dependency on the WCFs from version 2.1.* to Version 2.0.* which allows it more people to use the plugin.
  • Version 1.0.3

    [de]HOTFIX

    • Ein Update von Version 1.0.1 auf 1.0.2 war nicht möglich, da da die File-Instruction falsch benannt war ("Files" statt "File")

    [/de]
    [en]HOTFIX

    • An update from version 1.0.1 to 1.0.2 was not possible because of a wrong instruction name for the files ("Files" instead of "File")

    [/de]

  • Version 1.0.2

    • An obsolete check for the curl-extension has been removed

  • Sind die Fehler aus der alten Version mittlerweile behoben? (siehe meine Kommentare weiter unten)

    • Update 2.0 bringt lediglich Kompatibilität zum WSC.
      Allerdings verwendet die API keine Acceds Tokens mehr, wie von dir unten beschrieben. Probiers einfach aus, kanns dir so adhoc nicht sagen.

  • Ja stimmt geht nicht ! Was ist denn jetzt los damit ? nehmt es doch raus wenn es nicht funktioniert !

    • Kann mich SirValek nur anschließen. Es kann nicht so schwer sein die neue Version hier hochzuladen.

  • Ich kann es nicht installieren.. begründung:


    Dieses Paket ist inkompatibel mit den folgenden, installierten Paketen:
    „WoltLab Suite Core“ (com.woltlab.wcf)

    • Die Version für das WSC steht noch nicht zur Verfügung. Es war schon hochgeladen und wartete auf Freischaltung, deswegen ist es schon für das WSC angezeigt, allerdings gab es Probleme. Ich werde es erneut hochladen, aber erst nächste Woche. Es wird dann Version 2.0 sein.

    • Ab wann ist denn nun 2.0 erhältlich ?

    • Gab es hier Probleme?
      Die neue Version kann auf jeden Fall nicht mehr in der "Warteschleife" sein, denn diese beträgt durchschnittlich bei Plugin-Store zwei Wochen.

  • Hallo, hast du noch Feedback zu meinem letzten Kommentar?

    • Nein, ich hab dafür momentan wirklich keine Zeit, ich bin vor ner Woche erst umgezogen...^^

    • Ich bin mir sicher, dass du in den 168 Stunden die eine Woche hat, 10 Minuten Zeit findest um zu sehen ob der Fehler bei meiner Anwendung (Codebeispiel siehe letztes Kommentar) oder bei dir in der API liegt.

  • ich bekomme leider immernoch einen 403(forbidden) vom Server zurück. Key und Secret wurden korrekt eingegeben und den accessToken kann er per getBearerToken scheinbar auch korrekt generieren, Berechtgungen sind komplett auf Read/Write gesetzt. So sieht mein Aufruf auf:
    $twitterApi = TwitterAPIHandler::getInstance();
    $twitterApi->setPostfields([
    'status' => "das ist ein #test"
    ]);
    $result = $twitterApi->performRequest('https://api.twitter.com/1.1/statuses/update.json','POST');


    Damit soll einfach eine Statusmessage gepostet werden.

  • Kurze technische Frage.
    Wieso prüft du im Code auf !in_array(strtolower($requestMethod), array('post', 'get') - wenn doch "POST" sowieso IMMER groß sein muss, dass der code funktioniert? Konsistenter wäre es, wenn du an beiden stellen strtoupper verwendest, und damit das großgeschriebene immer erzielst, denn später wird auf $this->method == 'POST' geprüft.


    Ist mir aufgefallen, da ich erst "post" verwendet habe und es daher nicht funktioniert hat. Das sollte im Code entsprechend abgefangen werden, dass der Nutzer der API beide schreibweisen nutzen kann, ohne ewig anch fehlern suchen zu müssen.

    • Die nächste Version (wartet immer noch auf Freischaltung) wird das sowieso nicht mehr beinhalten ;)

    • ah okay super. Ich habe aktuell auch das Problem, dass ich "Permission Denied" von Twitter zurück bekomme (POST status) obwohl alle Token und Secrets korrekt gesetzt werden. Hast du dazu vielleicht auch spontan eine Idee woran das liegen könnte?

    • Warte einfach die neueste Version ab, kann sie dir gerne per PN zukommen lassen, falls du nicht warten möchtest. Da gibts einige Grundlegende Änderungen, die das ganze einfacher machen ^^

    • per PN wär natürlich super, dann kann ich heute Abend lokal schon etwas testen :) Ich denke es wäre außerdem Sinnvoll, wenn du in der Pluginbeschreibung eine kurze Beispielabfrage darstellen kannst, sodass Entwickler schnell sehen wie die API zu benutzen ist um einen Request abzuschicken.

    • Hab ich dir das jetzt jemals gesendet? XD Sorry, aber jetzt ist es eh freigeschaltet ^^

  • Ist es mit der Twitter-API eigentlich auch möglich Nachrichten bei Twitter zu posten, oder nur abzuholen? Ich würde mir nämlich ganz gerne etwas bauen, was einen erstellen Blogartikel auf Twitter anteasert und verlinkt.

    • Müsste mit der API eigentlich problemlos möglich sein.

      Like 1
  • Ich hatte ein Systemcrash, vermutlich durch ein Twitter Plugin ausgelöst. Fehlerbericht ist voll damit.


    /www/htdocs/w00dbaa1/html/Nightmareversuch2/wcf/lib/util/JSON.class.php (38)


    Stacktrace


    #0 /www/htdocs/w00dbaa1/html/Nightmareversuch2/wcf/lib/system/dashboard/box/TwitterTimelineDashboardBox.class.php(94): wcf\util\JSON::decode(NULL, false)
    #1 /www/htdocs/w00dbaa1/html/Nightmareversuch2/wcf/lib/system/dashboard/box/AbstractSidebarDashboardBox.class.php(31): wcf\system\dashboard\box\TwitterTimelineDashboardBox->render()
    #2 /www/htdocs/w00dbaa1/html/Nightmareversuch2/wcf/lib/system/dashboard/DashboardHandler.class.php(77): wcf\system\dashboard\box\AbstractSidebarDashboardBox->getTemplate()


    .....

    • Ich werds mir ansehen.

    • Ich könnte es bis morgen auch auf meine Testdomain mal durchlaufen lassen. Es hat jedenfalls mit einem der 2 Twitter Plugs zu tun, weil die Fehlermeldungen aufgehört haben wo ich das Plug aus der Seitenleiste raus gemacht habe.

    • es könnte mit php7 zusammenhängen.. hab mein board auf php5.6 wieder runter gestellt und seit 2 stunden die twitter sidbar eingebunden, bisher kam keine fehlermeldung

    • Könnte natürlich sein, mit PHP7 habe ich allerdings noch keinerlei Erfahrungen.

    • Kam kein Fehler seit her, wird also an php7 liegen, denn warum sollte es sonst laufen nach der Zurückstellung in meinem Board.

  • Die Api müsste mal auf neuen stand gebracht werden z.b bei "setGetfield" gab es änderungen ( https://github.com/J7mbo/twitter-api-php/pull/112 ) denn es gib einfach probleme bei der Search API und urlencode

  • Update läuft nicht von 1.0.4 auf 1.0.5.
    Stoppt bei 0% und geht nicht weiter

    • Es liegt ein Fehler in der package.xml Datei
      in Zeile 54-55 fehlt:
      <instruction type="file">files.tar</instruction>
      <instruction type="language">language/*.xml</instruction>

    • Das fehlt nicht. Es gibt keine richtigen Änderungen zwischen den Versionen, deswegen gibts auch keine File- und Language-Instruction. Kann ich übrigens nicht nachvollziehen, bei mir hat das Aktualisieren geklappt...Mal schauen, ob ich was finde.

    • Update kommt...

    • Es geht zu zumindest Dass das update nicht funktioniert. Nachdem ich die package Datei geändert habe und die Zeilen hinzugefügt habe funktionierte es

    • Paket ist aktualisiert....müsste jetzt gehen.

      Like 1
  • An update of package com.thurnax.wcf.twitter.api from version 1.0.3 to 1.0.4 is not supported.


    Stacktrace:


    #0 /public_html/wcf/lib/system/package/PackageInstallationScheduler.class.php(518): wcf\system\package\PackageInstallationScheduler->findShortestUpdateThread('com.thurnax.wcf...', Array, '1.0.3', '1.0.4')
    #1 /public_html/wcf/lib/system/package/PackageInstallationScheduler.class.php(106): wcf\system\package\PackageInstallationScheduler->updatePackage('55', '1.0.4')
    #2 /public_html/wcf/lib/system/package/PackageInstallationScheduler.class.php(67): wcf\system\package\PackageInstallationScheduler->tryToInstallPackage('com.thurnax.wcf...', '1.0.4', true, false)
    #3 /public_html/wcf/lib/data/package/update/PackageUpdateAction.class.php(497): wcf\system\package\PackageInstallationScheduler->buildPackageInstallationStack(false)
    #4 /public_html/wcf/lib/data/package/update/PackageUpdateAction.class.php(449): wcf\data\package\update\PackageUpdateAction->createQueue('update')
    #5 [internal function]: wcf\data\package\update\PackageUpdateAction->prepareUpdate()
    #6 /public_html/wcf/lib/data/AbstractDatabaseObjectAction.class.php(196): call_user_func(Array)
    #7 /public_html/wcf/lib/action/AJAXProxyAction.class.php(77): wcf\data\AbstractDatabaseObjectAction->executeAction()
    #8 /public_html/wcf/lib/action/AJAXInvokeAction.class.php(96): wcf\action\AJAXProxyAction->invoke()
    #9 /public_html/wcf/lib/action/AbstractAction.class.php(49): wcf\action\AJAXInvokeAction->execute()
    #10 /public_html/wcf/lib/action/AJAXInvokeAction.class.php(63): wcf\action\AbstractAction->__run()
    #11 /public_html/wcf/lib/system/request/Request.class.php(58): wcf\action\AJAXInvokeAction->__run()
    #12 /public_html/wcf/lib/system/request/RequestHandler.class.php(139): wcf\system\request\Request->execute()
    #13 /public_html/acp/index.php(10): wcf\system\request\RequestHandler->handle('wbb', true)
    #14 {main}

    • Have a look at the comment of Sebi84 just down below.

      Like 1
    • Sucks that it is 'pre-screened' and you have to wait for it to be approved. OK... Thanks for the info

    • Well, I guese it may be my fault that I forgot to include the update instruction. But I still have to wait because it wouldn't make much sense to push an update now when there is still something to be approved.

      Like 1
    • Still no news about the plugin approval? ...

  • Das Paket „Twitter API“ (installierte Version: „1.0.3“) soll auf Version „1.0.4“ aktualisiert werden, ein Update wird jedoch nicht unterstützt.


    ???

    • Einfach neu installieren. Version 1.0.4 bietet nun lediglich zusätzlichen Support für WCF 2.0.

    • ich kann ja die API nicht entfernen, da ich diese mit der Timeline installiert hab.

    • Dann diese ebenfalls neu installieren oder auf die Freischaltung der neusten Version dort warten. Da ist leider nur die API bisher freigeschaltet worden :(

      Like 1
    • Ok dann warte ich noch ein bissel

      Like 2
    • Wann ist es denn so weit ich warte immer noch darauf