5

私は自分のアプリが代わりにユーザーのウォールに投稿することを望んでいます(広告などのために)。サーバーで毎週cronジョブを実行するphpスクリプトを作成することを考えています。データベースにユーザーIDがあります。今私は、スクリプトがユーザー ID を取得してから、ユーザーの壁に投稿したいと考えています。(もちろん、ユーザーがまだアプリをインストールしており、ストリームの公開許可を付与している場合)

これをトリガーするスクリプトを作成することは可能ですか?
$post = $facebook->api("/$user1/feed","POST",$params); または
$post = $facebook->api("/$user2/feed","POST",$params); 等...?

アドバイスありがとう

<?php

require 'src/facebook.php';
$app_id = 'yourappid';
$app_secret = 'yourappsecret';
$app_namespace = 'appname';
$app_url = 'https://apps.facebook.com/' . $app_namespace . '/';
$scope = 'email,publish_actions';


// Init the Facebook SDK
$facebook = new Facebook(array(
 'appId'  => $app_id,
 'secret' => $app_secret,
));



// Get the current user
$user = $facebook->getUser();

// If the user has not installed the app, redirect them to the Auth Dialog
if (!$user) {
  $loginUrl = $facebook->getLoginUrl(array(
   'scope' => $scope,
   'redirect_uri' => $app_url,
 ));

  print('<script> top.location.href=\'' . $loginUrl . '\'</script>');

   }


    else {

       try {
        $params = array(
            'message'       =>  "your message",
            'name'          =>  "hello world",
            'description'   =>  "hello world",
            'link'          =>  "hello world",
            'picture'       =>  "hello world",
        );

        $post = $facebook->api("/$user/feed","POST",$params);

        echo "";

     }
      catch (FacebookApiException $e) {
       $result = $e->getResult();
     }

  }

 ?>
4

1 に答える 1

4

あなたの問題を解決するために、私のコードをあなたと共有します。これは私にとってはうまくいきました。

データベースからすべてのユーザーIDを選択するには、いくつかのループを書くだけです。

    <?php 

     //// publish as status 

     //// publish post to users 


         require_once("facebook.php");


       $app_id = "xxxxxxxxxxx";
       $app_secret = "xxxxxxxxxxxxxx";
       $my_url = "http://t.xxxxx.net/facebook/publish.php/"; // refer number 

    ///
       $config = array();
      $config['appId'] = 'xxxxxxxx';
      $config['secret'] = 'xxxxxxxxxxxx';
      $config['fileUpload'] = false; // optional

        $facebook = new Facebook($config);
       ///

    ////

      function getAccessToken() {
        if ($this->accessToken !== null) {
          return $this->accessToken;
        }

        $this->setAccessToken($this->getApplicationAccessToken());
        $user_access_token = $this->getUserAccessToken();
        if ($user_access_token) {
          $this->setAccessToken($user_access_token);
        }

        return $this->accessToken;
      }

       function getApplicationAccessToken() {
        return $this->appId.'|'.$this->appSecret;
    }


    /////////////////////////////// Update status Function 
    //xxxxxxxx
    $session = $facebook->getUser();



    // New SDK
    $facebook->api ( array(
        'method' => 'users.setStatus',
     'status' => 'Hi 
this new status by my app 

     ',
      'uid'    => '21511',/// user_id 
      'session'=>$session,
    ) );


     ?>
于 2013-06-08T13:47:01.930 に答える