Ik ben mijn voorzichtige eerste stappen aan het zetten om de Facebook API te gaan gebruiken.
Ik wil de Facebook API gebruiken om het nieuws die geplaatst wordt vanuit de website die ik onderhoud rechtstreeks als samenvatting + link ook te plaatsen op de fanpagina van de stichting waar de website van is.
Ik gebruik voor dit alles de tutorial van Pontikis.net: http://www.pontikis.net/blog/auto_post_on_facebook_with_php
Gisteren had ik geen problemen om dit te volgen, maar in mijn poging die ellenlange codes niet steeds te hoeven noteren en dat in klikbare links te stoppen krijg ik nu alsmaar de volgende JSON foutmelding wanneer ik een access token wil aanvragen:
Ik heb al wel andere foutmeldingen meegemaakt als:
En:
Maar die heb ik prima kunnen verhelpen. De eerste kwam omdat ik in de Developper Dashboard het IP-adres waar vandaan ik de aanroep deed nog niet in de whitelist had gezet. De tweede ging mis doordat de URL niet meer klopte na wat knip en plak werk.
Nu kloppen de URL's echter wel, heb ik vele pagina's via Google gevonden en heb ik alles nog eens gedubbelchecked en nog steeds geen bijzonderheden aangetroffen.
Het lijstje dat ik via de zoekresultaten tegen kom is dan steevast:
De app id had ik al gedubbelchecked en staat ook goed.
De app secret lijkt mij nog niet van toepassing aangezien ik nog geen gebruiker gegevens aan het ophalen ben.
Zou ik nu de foutmelding krijgen, omdat de app voor de ingelogde gebruiker al toegang heeft?
Zo ja, hoe reset je dan de access token of hoe vraag je een nieuwe access token aan?
Zo nee, wat kan er fout zijn?
Om te bepalen of de fout nu wel of niet in mijn code zit volgt hier mijn (deels gecensureerde) PHP code:
Ik hoop dat iemand met wat meer ervaring met de Facebook API mij kan vertellen wat ik over het hoofd zie.
Ik wil de Facebook API gebruiken om het nieuws die geplaatst wordt vanuit de website die ik onderhoud rechtstreeks als samenvatting + link ook te plaatsen op de fanpagina van de stichting waar de website van is.
Ik gebruik voor dit alles de tutorial van Pontikis.net: http://www.pontikis.net/blog/auto_post_on_facebook_with_php
Gisteren had ik geen problemen om dit te volgen, maar in mijn poging die ellenlange codes niet steeds te hoeven noteren en dat in klikbare links te stoppen krijg ik nu alsmaar de volgende JSON foutmelding wanneer ik een access token wil aanvragen:
JSON:
1
2
3
4
5
6
7
| { "error": { "message": "Error validating client secret.", "type": "OAuthException", "code": 1 } } |
Ik heb al wel andere foutmeldingen meegemaakt als:
JSON:
1
2
3
4
5
6
7
| { "error": { "message": "This IP can't make requests for that application.", "type": "OAuthException", "code": 5 } } |
En:
JSON:
1
2
3
4
5
6
7
| { "error": { "message": "An active access token must be used to query information about the current user.", "type": "OAuthException", "code": 2500 } } |
Maar die heb ik prima kunnen verhelpen. De eerste kwam omdat ik in de Developper Dashboard het IP-adres waar vandaan ik de aanroep deed nog niet in de whitelist had gezet. De tweede ging mis doordat de URL niet meer klopte na wat knip en plak werk.
Nu kloppen de URL's echter wel, heb ik vele pagina's via Google gevonden en heb ik alles nog eens gedubbelchecked en nog steeds geen bijzonderheden aangetroffen.
Het lijstje dat ik via de zoekresultaten tegen kom is dan steevast:
Met de eerste bedoelen ze neem ik aan dat mijn redirect_uri op het zelfde domein moet zijn als van waaruit ik de aanvraag doe. Als die aanname klopt dan doe ik dat correct.[list]
• your domain is the same as what you listed in the facebook callback url
• the app id is correct (actually print this out on a page, sometimes y
• the app secret is correct
De app id had ik al gedubbelchecked en staat ook goed.
De app secret lijkt mij nog niet van toepassing aangezien ik nog geen gebruiker gegevens aan het ophalen ben.
Zou ik nu de foutmelding krijgen, omdat de app voor de ingelogde gebruiker al toegang heeft?
Zo ja, hoe reset je dan de access token of hoe vraag je een nieuwe access token aan?
Zo nee, wat kan er fout zijn?
Om te bepalen of de fout nu wel of niet in mijn code zit volgt hier mijn (deels gecensureerde) PHP code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| <?php $facebook["client_id"]="*************95"; $facebook["redirect_uri"]="http://subdomein.mijndomeinnaam.nl/content/mijnaccount/webmtools/facebook/fb-tokens/"; $facebook["scope"]="manage_pages,publish_stream"; if($requestpath[4]=="fb-tokens"){ //gedeelte uit friendly url //stap 2: autorisatie-token ontvangen ?> <h3>Facebook retourneerde:</h3> <pre> <?=print_r($_GET); ?> </pre> <?php if($_GET["code"]!=""){ //stap 3: access token aanvragen ?> <h3>Code:</h3> <textarea rows="10" cols="70"><?=htmlentities($_GET["code"]); ?></textarea> <p><a href="https://graph.facebook.com/oauth/access_token?client_id=<?=$facebook["client_id"]; ?>&redirect_uri=<?=$facebook["redirect_uri"]; ?>&client_secret=<?=htmlentities($_GET["code"]); ?>">Proceed</a></p> <?php } } else{ //stap 1: URL creëren voor autorisatie aanvraag ?> <h3>Autoriseren:</h3> <p><a href="https://www.facebook.com/dialog/oauth?client_id=<?=$facebook["client_id"]; ?>&redirect_uri=<?=$facebook["redirect_uri"]; ?>&scope=<?=$facebook["scope"]; ?>">Proceed</a></p> <?php } ?> <h3>Script variabele Facebook:</h3> <pre> <?=print_r($facebook); ?> </pre> |
Ik hoop dat iemand met wat meer ervaring met de Facebook API mij kan vertellen wat ik over het hoofd zie.