annotate default/assets/vendors/theme-widgets/vendor/mute/facebook/example/writing-questions.php @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 <?php
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 /**
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 * Writing Questions via Graph API
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 *
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 * @author Xavier Barbosa
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 * @since 13 February, 2013
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 * @link https://developers.facebook.com/blog/post/635/
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 **/
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11 use Mute\Facebook\App;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 /**
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14 * Default params
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15 **/
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 $question = 'What are you doing this weekend?';
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 $options = json_encode(array('Hiking','Watching a movie','Hacking'));
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 $page_id = 'YOUR_PAGE_ID';
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 $app_id = 'YOUR_APP_ID';
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22 $app_secret = 'YOUR_APP_SECRET';
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 $my_url = 'YOUR_URL';
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 /**
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 * The process
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 **/
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29 $app = new App($app_id, $app_secret);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 $code = $_REQUEST["code"];
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33 echo '<html><body>';
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 if (empty($code)) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 $dialog_url = $app->getOAuth()->getCodeURL($my_url, array('manage_pages'));
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 echo "<script> top.location.href=" . json_encode($dialog_url) . "</script>";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 else {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 $params = $app->getOAuth()->getAccessToken($code);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 $response = $app->get('me/accounts', array(
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 'access_token' => $params['access_token'],
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44 ));
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 $accounts = $response['data'];
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 // Find the access token for the Page
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48 $page_access_token = '';
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49 foreach($accounts as $account) if($account['id'] == $page_id) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50 $page_access_token = $account['access_token'];
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51 break;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
52 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
53
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
54 // Post the question to the Page
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
55 $post_question_url = $app->post($page_id . '/questions', array(
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
56 'question' => $question,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
57 'options' => $options,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
58 'allow_new_options' => false,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
59 'access_token' => $page_access_token,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
60 ));
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
61
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
62 print_r($post_question_url);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
63 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
64
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
65 echo '</body></html>';