10

私はPHPゲームを開発しており、プレーヤーのハイスコアを自分のFacebookウォール/タイムラインに投稿したいと思います。

Facebookアプリを設定し、スコアをPOSTするために使用しているPHPコードは次のとおりです(Facebook自体によって提供されます)。

<?php
 require 'facebook-sdk/facebook.php';

 $app_id = MY_APP_ID;
 $app_secret = MY_APP_SECRET;
 $score = 1500;  // this is gonna be passed someway...

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

 $user = MY_USER_ID;  // to be replaced with a call to $facebook->getUser()

 $app_access_token = get_app_access_token($app_id, $app_secret);
 $facebook->setAccessToken($app_access_token);
 $response = $facebook->api('/' . $user . '/scores', 'post', array(
   'score' => $score,
 ));
 print($response);

 // Helper function to get an APP ACCESS TOKEN
 function get_app_access_token($app_id, $app_secret) {
   $token_url = 'https://graph.facebook.com/oauth/access_token?'
     . 'client_id=' . $app_id
     . '&client_secret=' . $app_secret
     . '&grant_type=client_credentials';

   $token_response =file_get_contents($token_url);
   $params = null;
   parse_str($token_response, $params);
   return  $params['access_token'];
 }
?>

もちろん、私が省略したログインとインストールのセクションがあり、ユーザーにログインしてアプリに' publish_stream'と' publish_actions'の権限を付与するように求めています。

これは成功しており、応答変数は1を出力します。FacebookGraphAPI Explorerを使用して投稿されたスコアを確認できるので、すべてが本当に正常にスムーズに機能していると思います。

問題は、Facebookのどこにも投稿されたと思われるユーザーストーリーを見ることができないことです。ドキュメントを読むと、スコアを保存するときにユーザーストーリーを自動的に公開する必要があるように思われます。例として、ここまたはここを見てください。

誰かがすでにこの問題を解決しましたか?私が見逃しているかもしれない何かを見ますか?この問題を解決するための正しい方向を教えていただけますか?

どんな助けでも大歓迎です。

4

6 に答える 6

4

あなたが書く

ドキュメントを読むと、スコアを保存するときにユーザー ストーリーを自動的に公開する必要があるように思えます。

スコアは自動的に公開されません。それらは、特定の条件下、つまりユーザーが次の場合にのみ公開されます。

  • 新たなハイスコアを獲得する(「ハイスコアストーリー」)。
  • 他の友達のスコアを渡す(「渡し話」)。

コードでは、毎回スコア 1,500 を投稿します。最初に投稿した後、テストのために再度投稿すると、投稿リクエストは成功しますが、スコアは新しい最高値ではないため、再度公開されることはありません。

出典:
Facebook 開発者: ゲームのチュートリアル。
Facebook Developers Developer Blog: ゲームのアップデート: スコアと実績の配信を拡大

于 2012-06-14T23:51:33.873 に答える
2

これを見てみる

https://github.com/fbsamples/CriticalMass/tree/master/web/criticalmass

希望は役に立つでしょう

于 2012-06-12T13:29:30.477 に答える
1

アプリケーションのプロファイル ページに投稿を作成するには、HTTP POST リクエストを APP_ID/feed (PROFILE_ID/posts ではありません) に発行して、publish_stream 権限を付与します。

詳細 : TechNew.In

于 2012-06-13T08:18:55.537 に答える
0

I read something recently that FB has stopped allowing Api posts to timelines. It will still show up in the news feed but just not on their wall anymore.

于 2012-06-12T13:10:33.417 に答える
-2

問題を見つけたと思います。

https://developers.facebook.com/docs/opengraphprotocol/#types

ステートメントを参照してください。

タイプが記事またはビデオのページには公開権がなく、現実世界のオブジェクトではないため、ユーザーのプロフィールには表示されません。

于 2012-06-14T22:46:46.503 に答える