Facebook API: How to post to own application wall without login

后端 未结 2 1828
-上瘾入骨i
-上瘾入骨i 2020-12-08 06:01

I want to post to my own application wall a text with a script but without to login first because it should be done automatically. How could I do that? I tried already:

2条回答
  •  渐次进展
    2020-12-08 06:38

    If you want to post to your own Application wall, all you need is an application Access Token, and if you want to publish to an user wall without login, you also need this user long live access token, for that you have to ask for Offline access permission.

    To publish to your application wall :

    1- Curl this link to get your application access token :

    https://graph.facebook.com/oauth/access_token? client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET& grant_type=client_credentials

    2- Publish to wall without checking for the session

    Example :

     'client_credentials',
    'client_id' => $appid,
    'client_secret' => $appsecret
    );
    
    $ch = curl_init();
    $url = 'https://graph.facebook.com/oauth/access_token';
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
    $data = curl_exec($ch);
    
    return json_encode($data);
    }
    
    // Create FB Object Instance
    $facebook = new Facebook(array(
        'appId'  => $appid,
        'secret' => $appsecret,
        'cookie' => false,
        ));
    
    
    //Get App Token
    $token = get_app_token($appid, $appsecret);
    
    //Try to Publish on wall or catch the Facebook exception
    try {
    $attachment = array('message' => '',
                'access_token' => $token,
                        'name' => 'Attachment Name',
                        'caption' => 'Attachment Caption',
                        'link' => 'http://apps.facebook.com/xxxxxx/',
                        'description' => 'Description .....',
                        'picture' => 'http://www.google.com/logo.jpg',
                        'actions' => array(array('name' => 'Action Text', 
                                          'link' => 'http://apps.facebook.com/xxxxxx/'))
                        );
    
    $result = $facebook->api('/'.$appid.'/feed/', 'post', $attachment);
    }
    
    //If the post is not published, print error details
    catch (FacebookApiException $e) {
    echo '
    ';
    print_r($e);
    echo '
    '; }

    Check APP LOGIN part in this page for more informations : http://developers.facebook.com/docs/authentication/

提交回复
热议问题