heiseonline / shariff-backend-php

👮 PHP backend for Shariff. Shariff enables website users to share their favorite content without compromising their privacy.
http://ct.de/-2467514
134 stars 44 forks source link

Facebook, Xing, LinkedIn - kein Counter mehr #110

Closed ms74Dog closed 8 years ago

ms74Dog commented 8 years ago

Hallo!

Ich nutze erst seit Anfang August Shariff. Ich habe eingestellt, daß ich Buttons für Facebook, Twitter, Google+, LinkedIn, Whatsapp und Xing angezeigt bekomme. Anfang August war es so, daß ich bei Facebook, Google+, LinkedIn und Xing einen Counter angezeigt bekam, Twitter und WhatsApp dagegen wie bekannt ohne.

Nun erhalte ich aber lediglich noch eine Anzeige des Counters bei Google+. Facebook, LinkedIn und Xing werden nicht mehr angezeigt. Ab wann genau das Problem auftrat kann ich nicht sagen, aufgefallen ist es mir aber am 24.08.

Sind hier Änderungen an der Schnittstelle erfolgt und was kann ich nun zur Problemlösung machen? Bzw.: ist das Problem bekannt und wird an einer Lösung gearbeitet?

Vielen Dank.

patrick-selge commented 8 years ago

Facebook hat am 07.08. seine OpenGraph API v2.0 eingestellt. Einen Tag später wurde dann auch die fql API (die bei nicht authentifizierten Requests verwendert wird) eingestellt. Da wir selbst weder die LinkedIn noch Xing Integration verwenden, kann ich hierzu leider nichts genaueres sagen. Ich versuche heute mit einem Token die Version 2.2 der API anzusteuern und melde mich danach noch einmal.

https://developers.facebook.com/docs/apps/changelog https://developers.facebook.com/docs/reference/fql/

mgrn0 commented 8 years ago

ist mir leider auch gerade aufgefallen, gibts hier schon eine Idee oder einen Lösungsansatz?

patrick-selge commented 8 years ago

Die Facebook Counter funktionieren wieder, wenn man wie in der Readme Datei beschrieben seinen Facebook Open Graph API Token und Secret in das shariff.json File einträgt. Der Facebook Service wechselt dann von der FQL API auf die Open Graph API v2.2 (https://github.com/heiseonline/shariff-backend-php/blob/master/src/Backend/Facebook.php#L27-L29), die noch bis Ende März 2017 aktiv ist (Siehe Changelog aus meinem letzten Comment).

ms74Dog commented 8 years ago

Wird auch nach einer Lösung für Xing und LinkedIn gesucht? Mir fehlt leider der technische Background dazu.

Und hat mir jemand evtl. einen Link dazu, wo ich etwas dazu nachlesen kann, um an die benötigten Daten für Facebook zu kommen? Ich habe bis Heute noch nicht mit Facebook gearbeitet und habe dort keinen Account. Ein Link wo ich mir den Token usw. generieren kann wäre sehr hilfreich.

Vielen Dank

mgrn0 commented 8 years ago

Super @patrick-selge , danke. Ist zwar echt mühsam, v.a. braucht man auch einen facebook account (und ich würde gern wissen, ob die erzeugten credentials in irgendeiner weise meinen account beeinflussen), aber immerhin geht es vorerst wieder.

compeak commented 8 years ago

Ich schließe das Ticket wegen Inaktivität. Bei Bedarf bitte wieder öffnen.

ghost commented 7 years ago

Hallo Entwickler und Community,

ich habe heute im Drupal 7 Profil Openenterprise das Shariff Backend in PHP definiert. Das ist unter https://wpzweinull.ch/cms/openenterprise und leider werden gar keine Counts mehr angezeigt. Ich setze auf die letzten Codes mit JS/CSS, die vor kurzem erschienen sind.

Kurz bevor wurde noch der G+ Share Count angezeigt, aber jetzt gar nicht mehr. Das Shariff-PHP-Backend wird gefunden und ist bei mir unter /sites/all/libraries/shariff/build. Das kann ich laut dem Chrome Inspector bestätigen. Ist auch 200er Antwort vom Browser.

Was mache ich falsch?

Im Backend in den Shariff Optionen habe ich nur die URL als URL zum Backend eingetragen und in der index.php schaut es folgendermassen aus.

Das Unterverzeichnis 'tmp' ist erstellt worden und dem vergab ich CHMOD 777. Inhalte werden in diesem Verzeichnis bereits abgelegt. An etwas hapert es noch und ich weiss nicht, an was genau.

<?php

require_once __DIR__.'/vendor/autoload.php';

use Heise\Shariff\Backend;

/**
 * Demo Application using Shariff Backend
 */
class Application
{
    /**
     * Sample configuration
     *
     * @var array
     */
    private static $configuration = [
        'cache' => [
            'ttl' => 60,
            'cacheDir' => 'tmp'
        ],
        'domains' => [
            'wpzweinull.ch',
            'www.ct.de'
        ],
        'services' => [
            'GooglePlus',
            'Facebook',
            'LinkedIn',
            'Pinterest',
            'Xing',
            'WhatsApp',
        ]
    ];

    public static function run()
    {
        header('Content-type: application/json');

        $url = isset($_GET['url']) ? $_GET['url'] : '';
        if ($url) {
            $shariff = new Backend(self::$configuration);
            echo json_encode($shariff->get($url));
        } else {
            echo json_encode(null);
        }
    }
}
Application::run();

Kann mir so jemand behilflich sein? Danke im Vorfeld.