Seite 1 von 2

Adsense Login über PHP/Curl

Verfasst: 17.06.2008, 17:13
von 6000
Hi,

habe das hier https://www.webtoolkit.info/php-adsense ... dSense.php gefunden.

Würde mich gerne über ein PHP Script bei Adsense einloggen um die Erträge abzufragen. Stimmt wohl was nicht mit der Login Adresse ... weiss jmd welche die richtige ist, was man ändern muss? Ist das überhaupt erlaubt?

Grüsse

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 17.06.2008, 17:54
von 6000
Hmm scheint schon die Richtige zu sein ... jedenfalls benutzt Adsense Notiefier die Gleiche ...

---
https://www.google.com/accounts/Service ... 2Fgaiaauth
---

Woran könnts liegen, also Passwort und Username stimmen ;)
Hier mal der komplette Login Prozeß

PHP

Code: Alles auswählen

function connect($username, $password){
        // phase 1
        curl_setopt($this->curl, CURLOPT_URL, "https://www.google.com/accounts/ServiceLoginAuth?service=adsense&hl=en-US&ltmpl=Login&ifr=true&passive=true&rm=hide&nui=3&alwf=true&continue=https%3A%2F%2Fwww.google.com%2Fadsense%2Fgaiaauth&followup=https%3A%2F%2Fwww.google.com%2Fadsense%2Fgaiaauth");
        preg_match_all&#40;'<input type="hidden" name="&#40;.*?&#41;" value="&#40;.*?&#41;">', curl_exec&#40;$this->curl&#41;, $out&#41;;
        $params = array&#40;&#41;;
        foreach&#40;$out&#91;1&#93; as $key=>$name&#41; &#123; $params&#91;&#93; = $name . '=' . urlencode&#40;$out&#91;2&#93;&#91;$key&#93;&#41;; &#125;
        $params&#91;&#93; = 'Email=' . urlencode&#40;$username&#41;;
        $params&#91;&#93; = 'Passwd=' . urlencode&#40;$password&#41;;
        $params&#91;&#93; = 'null=' . urlencode&#40;'Sign in'&#41;;

        // phase 2
        curl_setopt&#40;$this->curl, CURLOPT_POST, true&#41;;
        curl_setopt&#40;$this->curl, CURLOPT_URL, "https&#58;//www.google.com/accounts/ServiceLoginAuth"&#41;;
        curl_setopt&#40;$this->curl, CURLOPT_POSTFIELDS, join&#40;'&', $params&#41;&#41;;
        preg_match&#40;"/.*<a target=\"_top\" href=\"&#40;.*&#41;\" style.*/", curl_exec&#40;$this->curl&#41;, $matches&#41;;

        // phase 3
        curl_setopt&#40;$this->curl, CURLOPT_POST, false&#41;;
        curl_setopt&#40;$this->curl, CURLOPT_URL, $matches&#91;1&#93;&#41;;

        // did we login ?
        if &#40;eregi&#40;"Log out",  curl_exec&#40;$this->curl&#41;&#41;&#41; &#123;
            return true;
        &#125; else &#123;
            return false;
        &#125;;
    &#125;
zum Vergleich mal Adsense Notifier

Code: Alles auswählen

else if &#40; &#40; &#40; self.loggedin == -1 &#41; && &#40; args.phase != 0 &#41; &#41; || &#40; &#40; self.loggedin == 0 &#41; && &#40; args.phase == 0 &#41; &#41; &#41; &#123;
            self.loggedin = -1;
            args.phase++;
            self.tooltip = self.bundle.GetStringFromName&#40; 'tooltip.loadingtext' &#41;;
            switch &#40; args.phase &#41; &#123;
                case 1&#58;
                    self.login_attempts++;
                    self.httprequest&#40; &#123; "querystring" &#58; "https&#58;//www.google.com/accounts/ServiceLoginAuth?service=adsense&hl=en-US&ltmpl=login&ifr=true&passive=true&rm=hide&nui=3&alwf=true&continue=https%3A%2F%2Fwww.google.com%2Fadsense%2Fgaiaauth&followup=https%3A%2F%2Fwww.google.com%2Fadsense%2Fgaiaauth", "callback_onload" &#58; self.logon, "callback_parameters" &#58; args &#125; &#41;;
                    break;
                case 2&#58;
                    var re = /<input type="hidden" name="&#40;.*?&#41;" value="&#40;.*?&#41;">/ig;
                    var match = re.exec&#40; args.responseText &#41;;
                    var post_data = '';

                    while &#40; match &#41; &#123;
                        post_data = post_data + match&#91;1&#93; + '=' + self.URLencode&#40; match&#91;2&#93; &#41; + '&';
                        match = re.exec&#40; args.responseText &#41;;
                    &#125;
                    var querystring = "https&#58;//www.google.com/accounts/ServiceLoginAuth";
                    post_data = post_data + 'Email=' + self.URLencode&#40; self.username &#41; + '&Passwd=' + self.URLencode&#40; self.password &#41; + '&null=Sign+in';
                    self.httprequest&#40; &#123; "querystring" &#58; querystring, "method" &#58; "POST", "callback_onload" &#58; self.logon, "callback_parameters" &#58; args, "post_data" &#58; post_data &#125; &#41;;
                    break;
                case 3&#58;
                    var re = /var url = &#40;'|"&#41;&#40;.*?&#41;\1;/i;
                    var match = re.exec&#40; args.responseText &#41;;
                    if &#40; match &#41; &#123;
                        var qs = self.hex_unencode&#40; match&#91;2&#93; &#41;;
                        self.httprequest&#40; &#123; "querystring" &#58; qs, "callback_onload" &#58; self.logon, "callback_parameters" &#58; args &#125; &#41;;
                    &#125; else &#123;
                        self.tooltip = self.bundle.GetStringFromName&#40; 'tooltip.loginfailed' &#41;;
                        self.loggedin = 0;
                        self._prefs.setCharPref&#40; "window_com", self.getListener&#40;&#41; + "&#58;4" &#41;;
                    &#125;
                    break;
                case 4&#58;
                    self.loggedin = 1;
                    self.login_attempts = 0;
                    self.check_logon&#40; args.responseText &#41;;
                    if &#40; self.sort_by == 10 &#41; &#123;
                        self.set_sincelastupdate&#40;&#41;;
                    &#125; else &#123;
                        self.getData&#40;&#41;;
                    &#125;
                    break;
            &#125;

Verfasst: 17.06.2008, 22:29
von 6000
Niemand eine Idee?

Verfasst: 17.06.2008, 23:58
von GreenHorn
6000 hat geschrieben:Niemand eine Idee?
Nee, warum auch? Oft Kontoauszug ziehen bringt nicht mehr Geld.

Verfasst: 18.06.2008, 08:57
von 6000
@Greenhorn:
Hab ich geschrieben, dass ich den Adsense Account jede 5 Minuten mit diesem PHP Script abfragen möchten? Nein!

Niemand eine qualifizierte Antwort auf meine Frage?

Grüsse

Verfasst: 18.06.2008, 10:28
von Keyser Soze
Ich hatte früher auch mal ein Skript auf PHP/Curl-Basis dafür selber geschrieben. Irgendwann ging das von einem Tag auf den anderen nicht mehr, ohne dass ich etwas geändert hätte. Ich hatte es dann stundenlang probiert, das zu fixen, aber es wollte einfach nicht mehr laufen. Wenn ich die angeforderte URL im browser geöffnet habe, funktioinierte es, per Curl nicht mehr...
Mittlerweile interessiert mich Adsense eh nicht mehr groß, weil Adsense nur noch einen Bruchteil meiner Einnahmen ausmacht...

Verfasst: 18.06.2008, 11:10
von marc75
adsense wird sowas wie den refer auswerten um Aufrufe von externen Programmen zu unterbinden.

Verfasst: 18.06.2008, 11:45
von Mamphil
marc75 hat geschrieben:adsense wird sowas wie den refer auswerten um Aufrufe von externen Programmen zu unterbinden.
Das glaube ich nicht: Mein Browser ist so konfiguriert, dass kein Referrer gesendet wird 8)

Verfasst: 18.06.2008, 20:06
von GreenHorn
Mamphil hat geschrieben: Mein Browser ist so konfiguriert, dass kein Referrer gesendet wird 8)
Der beste und nachhaltigste Grund den Eintritt zu verweigern.

Verfasst: 23.06.2008, 13:49
von Arno Nühm
Keyser Soze hat geschrieben:Ich hatte früher auch mal ein Skript auf PHP/Curl-Basis dafür selber geschrieben. Irgendwann ging das von einem Tag auf den anderen nicht mehr, ohne dass ich etwas geändert hätte. Ich hatte es dann stundenlang probiert, das zu fixen, aber es wollte einfach nicht mehr laufen. Wenn ich die angeforderte URL im browser geöffnet habe, funktioinierte es, per Curl nicht mehr...
Mittlerweile interessiert mich Adsense eh nicht mehr groß, weil Adsense nur noch einen Bruchteil meiner Einnahmen ausmacht...
wird vermutlich an der umstellung auf den google account gelegen haben... ein login mit der alten adresse ist immernoch möglich, aber dann kommt immer dieser hinweis mit dem wechsel auf den google account, den muss man erst per curl "wegklicken".

ich hab auch so ein tool und nutze es nur deswegen, damit ich die einnahmen nicht per hand in euro umrechnen muss und mir individuelle statistiken erstellen kann... zusäötzlich zieht sich mein script den aktuellen dollar kurs automatisch, spart also ein bisschen zeit.

Verfasst: 23.06.2008, 14:52
von Keyser Soze
Arno Nühm hat geschrieben:ich hab auch so ein tool und nutze es nur deswegen, damit ich die einnahmen nicht per hand in euro umrechnen muss und mir individuelle statistiken erstellen kann... zusäötzlich zieht sich mein script den aktuellen dollar kurs automatisch, spart also ein bisschen zeit.
Ja die Euro-Umrechnung war auch für mich damals ein Argument, das zu programmieren. Man wird durch die Dollar-Werte doch unterbewusst immer "geblendet", auch wenn man es eigentlich genau weiß. Aber das mit dem topaktuellen Dollarkurs ist ja das i-Tüpfelchen 8) Den hatte ich immer nur hard-coded drin im Code (und dann alle paar Monate um 10 Cent nach oben setzen müssen :-? ).

Verfasst: 03.07.2008, 11:02
von saudepp
Arno Nühm hat geschrieben: ich hab auch so ein tool und nutze es nur deswegen, damit ich die einnahmen nicht per hand in euro umrechnen muss und mir individuelle statistiken erstellen kann... zusäötzlich zieht sich mein script den aktuellen dollar kurs automatisch, spart also ein bisschen zeit.
hi arno,

könntest du bitte den script hier posten? das wär echt nett.
oder PM ...

dieser rss script hört sich auch ganz gut an:
https://curl.askapache.com/libcurl/php/ ... sense.html

danke -saudepp

Verfasst: 30.08.2011, 17:11
von Keyser Soze
Ich weiß, der Thread ist 3 Jahre alt. Aber ich wollte trotzdem oder gerade deswegen mal fragen, ob es momentan irgendein Script gibt, mit dem man über PHP/Curl die AdSense-Einnahmen abfragen kann? Ich habe eben das hier gefunden, es funktioniert aber leider bei mir nicht (obwohl der Code sehr intelligent aussieht):
https://code.google.com/p/php-adsense-account-library/
Könnt ihr das vielleicht auch mal testen um zu schauen, ob es an meinem Account liegt oder allgemein nicht funktioniert momentan?
Falls jemand ein anderes funktionierendes Script kennen sollte oder weiß, wie man das o.g. Script zum Laufen bekommt, würde ich mich über einen Tipp sehr freuen.

Ich habe zwar selber schon versucht, das Script zu debuggen. Aber alles was ich ganz am Ende beim letzten Curl-Aufruf erhalte, ist eine Nachricht des Google-Servers namens "Bad parent origin", verpackt in einer Google-Fehlermeldung im HTML-Format. Diese drei Wörter sind leider ziemlich nichtssagend.

Verfasst: 31.08.2011, 06:57
von empty
Ohne hier gerade testen zu können:

Hast Du in Deinem Adsense-Account die neue (v3)-Oberfläche aktiviert?

Falls ja, schalt' die mal ab und probier noch mal.

*Edit* Ggf. auch die Sprache auf Englisch stellen.

Verfasst: 31.08.2011, 07:02
von rico
empty keyser - der thread ist 5 jahre alt