Durum Güncellemeleri için bir Facebook Fan Page yetki

2 Cevap php

Ben bu kodu kullanarak benim PROFİLİ duvara durumunu güncelleştirmek mümkün değilim:

require_once 'facebook-platform/php/facebook.php';
$facebook = new Facebook('APP API KEY','APP SECRET KEY');
$user_id = 'MY USER ID';
$facebook->api_client->users_setStatus('This is a new status');

...after authorizing using this address: http://facebook.com/authorize.php?api_key=MYAPPAPIKEY&v=1.0&ext_perm=publish_stream

Bu kod, ancak, benim Facebook SAYFA Wall durumunu güncelleştirmek için çalışmaz. Ben sadece benim profili PAGE yetki değil belirtmek için authorize.php url ekleyebileceğiniz ek parametreler var mı?

Yoksa, Fan Page Walls güncellemeleri göndermek için daha iyi yollar var?

Teşekkürler!

2 Cevap

Ben Facebook desktop application documentation (bu bir web uygulaması olsa bile) danışarak sorunu çözüldü.

I first had to authorize offline access with this url (replacing 'MYAPIKEY'): http://www.facebook.com/login.php?api_key=MYAPIKEY&connect_display=popup&v=1.0&next=http://www.facebook.com/connect/login_success.html&cancel_url=http://www.facebook.com/connect/login_failure.html&fbconnect=true&return_session=true&session_key_only=true&req_perms=read_stream,publish_stream,offline_access

Then, I needed to grant 'publish_stream' permissions to the PAGE with this url (replacing 'MYAPIKEY' and 'THEPAGEID'): http://www.facebook.com/connect/prompt_permissions.php?api_key=MYAPIKEY&v=1.0&next=http://www.facebook.com/connect/login_success.html?xxRESULTTOKENxx&display=popup&ext_perm=publish_stream&enable_profile_selector=1&profile_selector_ids=THEPAGEID

Sonra Fan Page duvara yayınlamak için aşağıdaki kodu kullanabilirsiniz:

require_once 'facebook-platform/php/facebook.php';
$facebook = new Facebook(MYAPIKEY, MYAPISECRET);
try{
    $facebook->api_client->stream_publish('INSERT_STATUS_HERE',null,null,null,'THEPAGEID');
}catch(Exception $o ){
    print_r($o);
}

Yukarıdaki dayanarak, ben grafik API yetki URL sorgu dizesi parametreleri bir çift çalıştı ve bu işler görünür:

https://graph.facebook.com/oauth/authorize?client_id=[APP_ID]&redirect_uri=[REDIRECT_URL]&scope=publish_stream&enable_profile_selector=1&profile_selector_ids=[PAGE_IDS]

EDIT: Tüm UI doğru yukarıdaki görüntüler, akla, ama yine hata "(# 200) kullanıcının bu eylemi gerçekleştirmek için uygulamayı yetkili değil" --- bu açıktır çalışmıyor Asla, çünkü erişim belirteci Benim KULLANICI id ama sayfanın kimliği içerir.