পিএইচপি SDK এবং গ্রাফ এপিআই ব্যবহার করে ফেসবুক ফ্যান পেজে কিভাবে একটি ইভেন্ট পোস্ট করব?

The following code works, but it creates the event as the currently logged-in page administrator. I need it to post the event to the fan page itself. FYI: My app has been granted the permissions scope: manage_pages

<?php

// Initialize a Facebook instance from the PHP SDK
$config = array(
  'appId' => FACEBOOK_APP_ID,
  'secret' => FACEBOOK_APP_SECRET,
  'cookie' => false,
  'scope' => 'manage_pages,create_event'
);

$facebook = new Facebook($config);

$access_token = $facebook->getAccessToken();

$page_id = 'XXXXXXXXXXXX';

// Now, getting the PAGE Access token, using the user access token

$page_token_url = "https://graph.facebook.com/$page_id?fields=access_token&" . $access_token;
$response = file_get_contents($page_token_url);

// Parse the return value and get the Page access token
$resp_obj = json_decode($response,true);

$page_access_token = $resp_obj['access_token'];

// Declare the variables we'll use to demonstrate
// the new event-management APIs
$event_id = 0;
$event_name = "New Event API Test Event";
$event_start = time() + rand(1, 100) * rand(24, 64) * 3600;
$event_privacy = "SECRET";//We'll make it secret so we don't annoy folks.

// We'll create an event in this example.
// We'll need create_event permission for this.
$params = array(
  'name' => $event_name,
  'start_time' => $event_start,
  'privacy_type' => $event_privacy,
  'access_token' => $page_access_token,
  'page_id' => $page_id //where $page_id is the ID of the page you are managing
);

// Create an event
$ret_obj = $facebook->api("/$page_id/events", 'POST', $params);
if(isset($ret_obj['id'])) {
 //Success
  $event_id = $ret_obj['id'];
  printMsg('Event ID: ' . $event_id);
} else {
  printMsg("Couldn't create event.");
}

// Convenience method to print simple pre-formatted text.
function printMsg($msg) {
   echo "
$msg
";
}

?>
4
যোগ সম্পাদিত
মতামত: 1
এই সংশোধিত কোড উপরে? আমি এখন সত্যিই কিছু সাহায্য ব্যবহার করতে পারে! :)
যোগ লেখক Jody Heavener, উৎস
আমি এটি figured আউট: আমি প্যারামিটার <�কোড> পাতা_id </কোড> <�কোড> $ params তালিকাতে যোগ করা এবং এটি মান <�কোড> $ page_id দিয়েছেন এবং এটি বন্ধ অধিকার! আমি আমার নিম্ন খ্যাতি কারণে পরবর্তী কয়েক ঘন্টা মধ্যে মনে করতে পারেন যদি এটি সংশোধিত কোড পোস্ট করা হলে এটি অন্য কেউ সাহায্য করে ধন্যবাদ নির্বিশেষে!
যোগ লেখক lincolnberryiii, উৎস
@ জোশি হিউনার আমি আপনার জন্য এটি আপডেট করেছি।
যোগ লেখক lincolnberryiii, উৎস
মারাত্মক ত্রুটি: অনাবৃত OAuthException: অবৈধ OAuth অ্যাক্সেস টোকেন। এইচপি-এ লাইন 1340-এ /home/scott/public_html/facebook-php-sdk/src/base_facebook.p‌
যোগ লেখক Scott Fleming, উৎস

1 উত্তর

Answer is here: Facebook PHP API, Post an Event on a Page

সুবিধার জন্য নীচের অনুলিপি:

আমি মনে করি আপনি পৃষ্ঠা access_token এবং এখানে আপনি এটি পেতে কিভাবে প্রয়োজন:

$page_id = "XXXXXXXXX";
$page_access_token = "";
$result = $facebook->api("/me/accounts");
foreach($result["data"] as $page) {
    if($page["id"] == $page_id) {
        $page_access_token = $page["access_token"];
        break;
    }
}

নিশ্চিত করুন যে আপনি manage_pages অনুমতি দিয়েছেন এবং access_token $ event_info অ্যারে যুক্ত করুন।

0
যোগ