1

グラフAPIを使用してFQLクエリを実行して、Insightsカウンタの値を取得しようとすると、成功しません。FacebookグラフAPIを使用したFQL Insightsクエリの実行方法

どのように私はこれを行うことができます知っていますか?

「Facebook C#SDK」バージョン5.4.1、C#4.0を使用します。私はマニュアルに記載されているC#のサンプルコードを使用している場合は、私が「pages_fans」Insightsのカウンタを要求し、ライブラリを使用する場合

var fb = new FacebookClient(m_accessToken); 
    dynamic result = fb.Query("SELECT name, uid FROM user WHERE uid= me()"); 

私は、同じ構文との良好な応答

{"name":"","uid":100002632407830} 

を受け取ります5.4.1

var fb = new FacebookClient(m_accessToken); 
    dynamic result = fb.Query("SELECT metric, value FROM insights WHERE object_id=6176018219 AND metric='page_fans' AND end_time=end_time_date('2011-12-31') AND period=period('lifetime')"); 

私は空の応答に常に同じコードではなくライブラリ5.2.1 と

{[]} 

をceive私はそれがここで説明したのと同じ問題です

{[{"metric":"page_fans","value":"125535"}]} 

常に良好な応答を受け取る:Error with FQL query with library 5.4.1が、相互に構文。

現在、REST API(libary 5.2.1)を使用したFQL Insightsクエリを使用していますが、REST APIが廃止されているため、グラフAPI(ライブラリ5.4.1)を使用してFQL Insightsクエリに移行します。

バグです:私の構文要求で

  1. は?
  2. "Facebook C#SDK"ライブラリでは?
  3. Facebookのサーバーでは?

+0

はFBのC#のSDKの中でいくつかの点で取得するときに、あなたが適切な権限を持っていることを確認し、我々は、FQLの代わりに、残りのグラフAPIを使用するように変更しました。それが今働いていない理由かもしれません。グラフエクスプローラとfqlを使用して、結果が得られるかどうかを調べることができます。グラフエクスプローラを使用して取得すると、codeplexにバグを報告する可能性があります。 – prabir

答えて

0

この問題はに関連しています。Facebook C#SDK

おそらくあなたができる最善のことは、CodePlexの上のバグを報告し、そして"lifetime""time in seconds"periodend_time_dateの使用を置き換えるです。

2

私は常に空の応答を受け取るFacebookのグラフAPIエクスプローラ

https://graph.facebook.com/fql?q=SELECT metric, value FROM insights 
WHERE object_id=6176018219 AND metric='page_fans' AND 
end_time=end_time_date('2011-12-31') AND period=period('lifetime') 

との要求を行いました。

{ 
    "data": [ 
    ] 
} 

Facebookのバグです。

バグがFacebook上でそれについて作成されました:http://developers.facebook.com/bugs/232510993491615?browse=search_4f08c675cce9d2265724293

+0

Google担当者に注意:特定の指標を使用すると、この不快な応答も得られます。例:「page_views」メトリックをクエリすると、この空のレスポンスが返されます。しかし、私が "page_fans"を問い合わせると、私は受け入れ可能な応答を得ます。とても奇妙。バグ、おそらく? – rinogo

+0

更新:一定の 'period'値で特定の' metric'値しか使用できないようです。そうしないと、上記の空のデータセットのような動作が発生することがあります。許可された 'metric' /' period'の組み合わせの文書化:https://developers.facebook.com/docs/graph-api/reference/insights – rinogo

1

私は信頼できると思わ洞察を取得する別の方法を見つけ、確実

の作品の情報を取得する別の方法を見つけました。 ドキュメントはこちらにありますhttp://developers.facebook.com/docs/reference/api/insights/

フォーマットと期間の変更を可能にするその他のオプション - 以下の例があります。

https://graph.facebook.com/2439131959/insights/application_active_users/[period]?format=json &ので= [タイムスタンプ] &まで= [タイムスタンプ] & access_tokenは= [access_tokenは】

期間日、月、週、生涯です。 タイムスタンプは有効なPST真夜中でなければなりません。 access_token =可能かもしれません。 1.許可を必要としないメトリックには何もありません。 2. app_id | secret_codeまたは 3.アプリケーションまたはページのインサイトデータ(所有者またはインサイトユーザー)にアクセスできることを許可する認証トークン。

C#SDKの例:

FacebookClient fbClient =新しいFacebookClient([appIDが]、[秘密])。

 DateTime untilDate= (new DateTime([Now].Year, [Now].Month, [Now].Day)); 
     DateTime sinceDate= (new DateTime([Now].Year, [Now].Month, [Now].Day)).AddDays(-1); 
     TimeSpan t = (untilDate- new DateTime(1970, 1, 1)); 
     int timestampUntil = (int)t.TotalSeconds; 
     t = (sinceDate- new DateTime(1970, 1, 1)); 
     int timeStampSince = (int)t.TotalSeconds; 



     var result = (IDictionary<string, object>)fbClient.Get([appID] + "/insights/" + [metricID] + "/" + [period] + "?format=json&since="+timeStampSince+"&until="+timestampUntil); 
     Console.WriteLine(result["data"]); 
1

あなたがアクセストークン

<fb:login-button perms="read_insights"></fb:login-button> 
+0

私の空の応答のための簡単な「修正」でした。どうも!私はFBが何が間違っているのかを説明するエラーの代わりに単に空のデータを返すのはなぜだろうか。 –

関連する問題