开发者

Problem trying to post in facebook trough AMFPHP

I'm using AMFPHP, and wrote a small function in php to post in facebook whenever it's called:

function postear($pregunta,$winoption,$loseoption) {
    require_once("../../facebook.php");
    Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;

    $facebook = new Facebook(array(
        'appId开发者_JAVA技巧'  => 'xxxxxxxxxxxxx',
        'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
        'cookie' => false
    ));

    $session = $facebook->getSession();
    $token = $session['access_token'];

    //echo "Post successful !"; 
    $facebook->api( '/me/feed', 'POST', array ( 'message' => '','link' => 'http://www.facebook.com/apps/myapp','name' => 'dummy name'));
}

I'm getting this error:

message = "faultCode:AMFPHP_RUNTIME_ERROR faultString:'An active access token must be used to query information about the current user.'

I'm not very familiar to Facebook's graph api, and kinda of confussed because sometimes i can post correclty by calling my function, and other times gives me above's error. Maybe I need to somehow pass the token to my posting call ?. And what's the purpose of the 'cookie' argument in my call to log me into facebook ?.

Also, the access token is unique ?, or a different one is generated every time someone logs into the app ?.

Thanks for your orientation and thanks for any help.


If you have not requested offline access for the application you created for the user you are trying to authenticate with, then you need to login to facebook before the application will work. It doesn't have anything to do with AMFPHP.

I don't know what kind of environment you are running but take a look at this tutorial. You should be able to glean what you need in order to get your application running.

    if (isset($_POST['tt'])){
        try {
            $statusUpdate = $facebook->api('/me/feed', 'post', array('message'=> $_POST['tt'], 'cb' => ''));
        } catch (FacebookApiException $e) {
            d($e);
        }

Note that $_POST['tt'] is a variable set by the form in the example code. You can use whatever you want in that for example.

$statusupdate = $facebook->api('/me/feed', 'post', array('message'=>$myMessage, 'cb'=>'');

Pay close attention to step 3. In that code sample they give some FBML tags that will take care of putting a login/logout button onto your page that will handle logging in the user. Then you don't have to maintain another tab in the browser with facebook logged in on it. Good luck!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜