Page 1 of 2 1 2 LastLast
Results 1 to 15 of 23

Thread: Vreemd verschil tussen Chrome en Chromium

  1. #1
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046

    Vreemd verschil tussen Chrome en Chromium

    Vraag me niet hoe ik er op uit gekomen ben, maar in Chrome kan je blijkbaar aan de graphql-data van Instagram komen als je in de dev-tools console op een www.instagram.com pagina deze waarde opvraagt:
    Code:
    window._sharedData.entry_data.ProfilePage[0].graphql
    Ik dacht, zou dat programmatorisch ook lukken? Ik had vroeger nog met TWebBrowser gewerkt (RIP IE), dus het wordt eens tijd dat ik de nieuwe alternatieven bekijk. Ik heb met CEF4Delphi en WebView4Delphi geprobeerd (wat zitten die anders ineen dan goeie ouwe TWebBrowser!!!)
    maar bij beide lijkt
    Code:
    window._sharedData.entry_data
    gewoon gelijk te zijn aan {}...

    Wat mis ik? Is er iets dat je in je Browser/Frame/GlobalCEFApplication moet aanzetten om die 'ingewikkelde' objecten hoegenaamd te zien te krijgen? Of is Instagram écht zo slim om die data weg te halen in alles behalve echt doorsnee normale browsers?

  2. #2
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    P.S.: ja, ik weet van de URL's van de vorm "https://www.instagram.com/[accountname]/?__a=1" maar die zijn niet betrouwbaar, na enkele krijg je redirects naar de login pagina, en eenmaal ingelogd lijkt "?__a=1" niet meer te werken...

  3. #3
    > Of is Instagram écht zo slim om die data weg te halen in alles behalve echt doorsnee normale browsers?

    Dat zou kunnen. En het kan ook afhankelijk zijn van sessie-informatie, cookies, gecombineerd met bepaalde eigenschappen van je browser. Waarschijnlijk niet zozeer een technische beperking van Chromium, maar inderdaad moeilijk maken door Instagram. Wat voor stappen moet je in Instagram doen om die data te krijgen? Als je in een Incognito-scherm van Chrome naar Instagram gaat, heb je dan al meteen die data, of moet je er eerst voor inloggen?
    Zou het misschien kunnen dat die data gegenereerd wordt door (of opgehaald wordt met) een script dat niet in Chromium draait?
    1+1=b

  4. #4
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    Ja, in een incognito venster aanmelden om alles op te zetten (en dan krijg je een mail van 'er werd aangemeld op Chrome'...)
    Als je hier bijvoorbeeld kijkt (ik heb niet getest of die op zich eigenlijk wel werkt) dan lijkt het in theorie wel mogelijk om dat allemaal zelf te gaan liggen opzetten, maar door een browser control te gebruiken had ik gehoopt dat allemaal te kunnen vermijden, en dat leek te lukken behalve dat die graphql niet blijkt te zitten waar ik die verwacht (of er toch net buiten bereik zit vanwege een of ander iets van 'security'...)

  5. #5
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    En dat allemaal omdat Instagram zelf geen RSS feeds (meer?) doet. Ik heb deze bekeken, maar die werkt met user_id's, die je op een of andere manier eerst moet zien te pakken te krijgen, plus hoe geraak je aan een access_token? Dat lijkt helemaal dichtgetimmerd sinds ergens na dat ze door Facebook waren overgenomen...

  6. #6
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    He, wacht eens, in een 'gewone' incognito blijft het relatief stil in de console van dev tools, maar die in TChromium kleurt rood van de foutmeldingen. De eerste is:
    [Report Only] This document requires 'TrustedScriptURL' assignment.
    Het enige wat ik daarover vind is dit en jawel, het ligt in de lijn met mijn vermoeden dat die ProfilePage er eigenlijk wel zit, maar je die vanwege 'security' niet te zien krijgt.
    Alleen dat het om een 'ontbrekende' assignment van een class prototype gaat, en ik niets van 'trusted' in de uCEF*.pas files vind, zou het iets kunnen zijn dat nog fout zit in libcef.dll? Zou het de moeite zijn om bij die mensen een ticket te openen?

  7. #7
    Quote Originally Posted by develyoy View Post
    En dat allemaal omdat Instagram zelf geen RSS feeds (meer?) doet. Ik heb deze bekeken, maar die werkt met user_id's, die je op een of andere manier eerst moet zien te pakken te krijgen, plus hoe geraak je aan een access_token? Dat lijkt helemaal dichtgetimmerd sinds ergens na dat ze door Facebook waren overgenomen...
    Werkt de gewone API niet voor de feed?
    De API werkt volgens mij gewoon volgens de normale OAuth2.
    Of wil je de publieke feed voor een gebruiker en geeft deze API dat niet terug?

    https://www.mageplaza.com/kb/how-to-...ess-token.html
    https://developers.facebook.com/docs...c-display-api/

    Daar staat in ieder geval wel hoe je aan een access_token moet komen.

  8. #8
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    Oj, weer al dat "/me/" gedoe. Dat is het hem net, het gaat hier niet om een specifieke Instagram gebruiker, ik wil aan de graphql van publieke accounts zien te komen. Neem bijvoorbeeld https://www.instagram.com/muradosmann/ hoe haal je een lijstje met recente beeldjes uit de API?

  9. #9
    Je kunt met een access_token toch ook posts ophalen van een andere gebruiker?

    Zie bijvoorbeeld hier
    https://youtu.be/8tu4DPSIQyA

    Demo
    https://justinstolpe.com/blog_code/i..._and_posts.php
    Code
    https://github.com/jstolpe/blog_code..._and_posts.php

  10. #10
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    'Business Discovery' zou het zo simpel zijn? Is dat wat ik zoek? Als ik hier probeer:
    https://developers.facebook.com/tool...&version=v14.0
    dan krijg ik blijkbaar rechts al een access token. Ik voeg rechtsonder deze toe:
    instagram_basic
    instagram_manage_insights
    pages_show_list
    en die staan nu in groen, zit dat dan goed?
    Toch krijg ik deze:
    {
    "error": {
    "message": "(#100) Tried accessing nonexisting field (business_discovery) on node type (User)",
    "type": "OAuthException",
    "code": 100,
    "fbtrace_id": "AUmGJIztt4Of1OWSUO3zyVo"
    }
    }

  11. #11
    En heb je een business account?
    Andere moet je niet field (business_discovery) gebruiken.

    Voer je dit ook uit "op" je eigen account?

  12. #12
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    Wat dan wel? Ik keek om zo'n Instagram business ding te openen, maar het activeren van die account lijkt fout te lopen op het koppelen aan mijn facebook account... Ik probeer morgen verder.

  13. #13
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    Zou het aan te raden zijn dat ik hiervoor echt aparte accounts op faceook én instagram maak? Of zou het aan hun kant dan er verdacht uit zien dat er echt niets anders gebeurt op die accounts dan wat API calls? Op mijn eigen account is die koppeling tussen facebook en instagram in de knoop geraakt, en op instagram zelf is de account activatie op een of andere manier kapot. De pagina laad drie keer en geeft dan gewoon een melding 'probeer over enkele minuten opnieuw'...

  14. #14
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    Mocht het nog iemand interesseren, intussen krijg ik iets aan de praat! Dit geeft mee een lijstje waar ik al iets mee kan:
    Code:
    'https://graph.facebook.com/v14.0/'+FBUserID+'?access_token='+FBAccessToken+'&fields=business_discovery.username('+IGUserName+')%7Bmedia%7Bcaption%2Cmedia_url%2Cpermalink%2Ctimestamp%7D%7D'
    maar, geen location. Blijkbaar is het lijstje fields op zo'n "IGMedia" sterk beperkt, en is er geen field "location", jammer genoeg. Dus misschien blijf ik nog een tijdje met "?__a=1" werken, hoewel die meestal dienst weigert.

  15. #15
    En die location krijg je wel bij het scrapen?

    Blijkbaar wel bewust (voor de veiligheid)
    https://techmonitor.ai/technology/ha.../instagram-api

    Je kunt er niet achter komen waarom die a=1 af en toe weigert? Geen foutcode/melding?

    Hier staat dat je ipv a=1 de json uit de pagina zonder ar1 miet halen. Tevens moet je ook de cookies goed afhandelen.
    https://stackoverflow.com/a/49341049/1037511

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •