Facebook Post naar pagina vanaf een webserver

Overzicht

Sponsored by: Vacatures door Monsterboard

Frank Catry

Frank Catry

03/08/2016 09:47:21
Anchor link
Hallo,

ik ben aan het sukkelen om een post op een FB pagina te plaatsen.
Blijkbaar zit ik in de knoei om het juiste token te vinden om vanaf een webserver te gebruiken.
Wat ik wil doen is wanneer een nieuw record in mijn MySql database komt te staan de data / foto's naar een FB pagina gepost worden.

Dit is mijn testcode :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php

session_start();

$app_id='123';
$app_secret='4567';
$app_page_id='8910';
$access_token = 'EAACEdEose0cBABt1ZCMP1lnrlZBHLfGNFe9nK5ZAXu4bTMc5ZAwNv4ewtAJixxX0qz2cqcJrAwAUhfg1c2FXgomZBH4Ix0tQSQMZAnIbvVNpxeDQmY02Au1UWWeG0w3IAs86DaJFAQepJHMsFXr7Q4RYu1sLX28EZABW6u360ZAlCPRTvGwvmnIA';
$appsecret_proof = hash_hmac('sha256', $access_token, $app_secret);

require_once($_SERVER['DOCUMENT_ROOT']."/assets/includes/facebook/autoload.php");

$fbData = array(
    'app_id' => $app_id,
    'app_secret' => $app_secret,
    'appsecret_proof' => $appsecret_proof,
    'default_graph_version' => 'v2.7',
    'page-id' =>  $app_page_id,
);


//print_r($fbData);


$fb = new Facebook\Facebook($fbData);

$params["message"] = 'FRANKS TEST';
$params["link"] = 'http://www.autos-motos.net';
$params["picture"] = '';
$params["description"] = 'Test van mezelf';
$params["appsecret_proof"] = $appsecret_proof;
$params["page-id"] =  $app_page_id;
 

// post to Facebook
try {
  $response = $fb->post('/me/feed', $params, $access_token);
}
catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
}
catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

 
$graphNode = $response->getGraphNode();
 
echo 'Posted with id: ' . $graphNode['id'];

?>


Dit is dit fout : Graph returned an error: Invalid appsecret_proof provided in the API argument

Als ik zoek op internet zou ik hiervoor een page token nodig hebben. Vraag is hoe kan men deze programmatorisch bekomen. Heeft soms iemand een voorbeeld?

Alvast bedankt - Frank.
Gewijzigd op 07/08/2017 08:30:55 door - Ariën -
 
PHP hulp

PHP hulp

17/12/2018 21:42:14
 
- Ariën -
Beheerder

- Ariën -

03/08/2016 09:49:37
Anchor link
Ik vermoed dat je een verkeerde 'secret code' gebruikt.
Deze tutorial kwam ik tegen, ik weet niet hoe actueel het nog is, maar het zou kunnen werken.

Het vergt wel enig handwerk om een code op te zoeken in je API Dashboard van FB.
Gewijzigd op 03/08/2016 09:50:15 door - Ariën -
 
Ramon van Dongen

Ramon van Dongen

03/08/2016 09:50:48
Anchor link
Moet je die secret code niet eenmalig opvragen/aanmaken bij FB?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/08/2016 10:46:55
Anchor link
Ramon van Dongen op 03/08/2016 09:50:48:
Moet je die secret code niet eenmalig opvragen/aanmaken bij FB?


Zeker. Je moet naar https://developers.facebook.com/apps/ gaan en daar een app aanmaken. Je krijgt dan een persoonlijke app-secret en een app-id. Van Een een accesstoken is volgens mij geen sprake... Waar heb je dat scriptje vandaan en is dat niet heel erg oud?

Kijk eens of dit iets voor je is: https://developers.facebook.com/docs/sharing/webmasters
 
Frank Catry

Frank Catry

03/08/2016 11:29:44
Anchor link
De App is geregistreerd, een product (Facebook toegang) toegevoegd, instellingen staan juist voor OAuth login. Ik kan ondertussen een token genereren in FB Dev. Maar das maar 2 uur geldig. Als ik probeer van dit token een Extend token te maken krijg ik fout dat ik dit niet kan maken vanaf mijn IP nummer. Misschien moet dit vanaop de server. Mijn IP is nochtans toegevoegd in de App. Het script werkt nu reeds, dus is oké. Nog even doorzoeken hoe ik een Extended token kan bekomen.
 
Daniel van Seggelen

Daniel van Seggelen

07/08/2017 06:38:51
Anchor link
Ik heb dit probleem maar ik post naar een facebook bussiness page:

$response = $fb->post('/234234234/feed', $params, $access_token);

i.p.v me, maar ik een page_id ervan.
Dit werkt,maar de access token is mij als user, ik wil graag als access token de business page hebben.
Ik wil niet dat ik als user die post maak, maar dat de pagina zelf die post maakt.

als ik dat doe, dan krijg ik: Graph returned an error: Invalid appsecret_proof provided in the API argument
 
- Ariën -
Beheerder

- Ariën -

07/08/2017 08:29:04
Anchor link
Zullen we hier verder gaan?

https://www.phphulp.nl/php/forum/topic/soacial-media-gratis-api-voor-mijn-blogs/101455/last/

Dan sluit ik dit oude topic voor de overzichtelijkheid.
Gewijzigd op 07/08/2017 08:30:30 door - Ariën -
 
 

Dit topic is gesloten.



Overzicht

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.