-1

FB グラフ API を使用して、ユーザーのウォールにコンテンツを投稿しています。私はもともとこの方法を使ってみました:

$wall_post = array(array('message' => 'predicted the',  'name' => 'predicted the'), 
                array('message' => $winning_team, 'name' => $winning_team, 'link' => 'http://www.sportannica.com/teams.php?team='.$winning_team.'&year=2012'),
                array('message' => 'to beat the', 'name' => 'to beat the',),
                array('message' => $losing_team, 'name' => $losing_team, 'link' => 'http://www.sportannica.com/teams.php?team='.$losing_team.'&year=2012'),
                array('message' => 'on '.$game_date.'', 'name' => 'on '.$game_date.''),
                array('picture' => 'http://www.sportannica.com/img/team_icons/current_season_logos/large/'.$winning_team.'.png'));

        $res = $facebook->api('/me/feed/', 'post', '$wall_post');

しかし、驚いたことに、ユーザー ウォールに複数のリンクを投稿することはできません。

そのため、今はグラフ API を使用して、Spotify と同じようにユーザーのウォールにコンテンツを投稿しています。これで、開いているグラフ ダッシュボードでカスタム アクションとオブジェクトを作成する必要があることがわかりました。そこで、「予測」アクションを作成し、オブジェクト「ゲーム」を編集する許可を与えました。

だから、今私はコードを持っています:

$facebook = new Facebook(array(
    'appId' => 'appID',
    'secret' => 'SECRET',
    'cookie' => true
));

$access_token = $facebook->getAccessToken();
$user = $facebook->getUser();

if($user != 0) 
{
    curl -F 'access_token='$.access_token.'' \
     -F 'away_team=New York Yankees' \
     -F 'home_team=New York Mets' \
     -F 'match=http://samples.ogp.me/413385652011237' \
        'https://graph.facebook.com/me/predict-edit-add:predict'
}

エラーが表示され続けます:

解析エラー: 構文エラー、予期しない T_CONSTANT_ENCAPSED_STRING

何か案は?

4

2 に答える 2

1

PHP はシェル スクリプト言語ではありません。単純にシェル コマンドを投入して、それが機能することを期待することはできません。

curlプログラムを呼び出そうとする代わりに(system()または などexec()を使用して呼び出します)、単純にcurl PHP 拡張機能または Facebook API の適切な関数を使用できます。

于 2012-06-17T09:14:38.640 に答える
1

PHP コードとcurlコマンドの実行を混在させるには、シェルから呼び出す必要があります。

curl -F 'access_token='$.access_token.'' \
 -F 'away_team=New York Yankees' \
 -F 'home_team=New York Mets' \
 -F 'match=http://samples.ogp.me/413385652011237' \
    'https://graph.facebook.com/me/predict-edit-add:predict'

または、PHP-SDK を使用して同じことを実現するには:

$facebook->api('/me/predict-edit-add:predict', 'post', array(
  'away_team'=>'New York Yankees',
  'home_team'=>'New York Mets',
  'match'=>'http://samples.ogp.me/413385652011237'
));
于 2012-06-17T09:16:20.103 に答える