2010-01-15 16 views
5

cron-job ile facebook olayları oluşturmaya çalışıyorum. Olaylar, çevrimdışı erişime izin veren facebook-connect-sitemin kullanıcıları adına oluşturulmalıdır. Süresi dolmayan session_key'larım var, ancak işe yaramayacaksınız!cron-job ile facebook olayları oluşturma

kimse var "mesajı 'Geçersiz parametre' ile istisna 'FacebookRestClientException'": Uygulamamda adına oluşturma etkinlikleri de ... Ben istemiyorum sadece ne olduğunu bir cazibe gibi

var_dump($event) with some randomly generated data: 
'name' => string 'Try a athirst these and' (length=23) 
'tagline' => string 'as it that he down the almost the' (length=33) 
'description' => string 'that deeper but is sea whenever lead all a stream knowing robust bakehouses attending have am it pent for own quick' (length=115) 
'category' => int 5 
'subcategory' => int 52 
'location' => string 'same as more the' (length=16) 
'start_time' => int 1263630600 
'end_time' => int 1263654000 
'street' => string 'This Was Ships My 807' (length=21) 
'phone' => string '49 692 324' (length=10) 
'email' => string '[email protected]' (length=15) 
'privacy_type' => string 'OPEN' (length=4) 

<?php 

$facebook = new Fb(FACEBOOK_API_KEY, FACEBOOK_API_SECRET); 
// Set session key (that has been returned after offline-access has been granted) 
$facebook->api_client->session_key = '5de03e54cb359f9asf3435365e-4588985454'; 
$eid = $facebook->api_client->events_create(json_encode($event)); 

?> 

Sonuçları işleri dışarıda günümü kurtarabilir miyim?

+0

değil. Etkinliklerine erişmek için bunu kullanabilirim. –

+0

Hayır, yapamazsınız. Sadece bir session_key gibi görünen bir şey yazdım ;-) – Sebastian

+0

"$ event" yapısını yazabilir misiniz? İçinde kötü bir veri var gibi görünüyor. – mattbasta

cevap

1

create_events genişletilmiş iznini sorduğunuzu varsayarak, bunu yeni Open Graph API ve güncel PHP SDK ile yapabilmeniz gerekir.

$facebook = new Facebook(array(
    'appId' => 'application ID', 
    'secret' => 'application secret', 
    'cookie' => true, 
)); 
if ($session = $facebook->getSession()) { 
    try { 
    $event = $facebook->api("/me/events","post",array(
     'title'=>'My Event Name', 
     'start_time'=>1263630600, 
     'end_time'=>1263654000, 
     // etc add your other event info here 
    )); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    } 
} 
O da bir CRON görevi olarak çalıştırmak gerekir

, neden öyle değil mi bilmiyorum: kodu (değil test) böyle bir şey olurdu.

1

Oturum anahtarını kullanmanız gerektiğinden emin misiniz? Öğeleri duvara göndermek ve kullanıcı bilgilerine çevrimdışı erişmek için erişim verildiğinde sağlanan access_token'i kullanıyorum.

düzenleme: kullanıcı duvara öğeleri yazabilmek için mükemmel benim için çalışıyor kod örneği (etkinlikler aynı şekilde çalışmaz): Eğer SO üzerinde bir oturum anahtarı gönderme gerektiğine emin

<?php 
$ch = curl_init ('https://graph.facebook.com/me/feed'); 
curl_setopt ($ch, CURLOPT_POST, true); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, array('access_token' => $user_access_token, 'message' => $message, 'link' => $link)); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
$ret = curl_exec ($ch); 
$ret = json_decode($ret); 
if (!empty($ret->id)) { 
    return true; 
} 
return false;