1

私はクエリを実行するコマンドラインアプリケーションを持っています。ここにコードがあります。このリソースを要求するにはアクセストークンが必要ですFQL issue

問題は、「abc ... | xyz ...」という形式のアクセストークンを受け取ることです。セッション部分がない場合は です。しかし返されたトークンは、私のクエリを実行して 私のページの洞察を選択するのに役に立たない。助けて !!

 const string permissions = "manage_pages,read_insights,offline_access"; 

     dynamic oauthClient = new FacebookOAuthClient() ; 
     oauthClient.AppId = username ; 
     oauthClient.AppSecret = password ; 

     dynamic parameters = new ExpandoObject() ; 
     parameters.scope = permissions ; 
     parameters.response_type = "token" ; 
     // parameters.grant_type = "client_credentials" ; 

     dynamic result = oauthClient.GetApplicationAccessToken(parameters); 
     string token = result.access_token ; 
     // token comes back as "abc...|xyz..." 

     var fb = new FacebookClient(token); 
     string query = " select metric, value " + 
         " from insights " + 
         " where object_id = MY_PAGE and " + 
         "  metric in ('page_impressions' , 'page_stories') and " + 
         "  end_time >= end_time_date('2012-02-21') and " + 
         "  end_time <= end_time_date('2012-02-11') and " + 
         "  period = period('day') " ; 

     dynamic result2 = fb.Query(query) ; // Exception generated on this line. 

     return result2 ; 

+0

ところで - 終了時のものですカット&ペーストエラー。 2012年2月11日から2012年2月21日までの終了時刻である必要があります。トークンの問題は私の問題です。 –

+0

Facebook C#SDK v5.0.3を使用する –

答えて

1

あなたが得ているエラーはFacebookからのものであり、リクエストを行うための有効なトークンがないという単純なことです。 OAuthを使用してユーザーアクセストークンを要求する必要があります。あなたは、有効なアクセス権を持っていた後に次のコードを使用して要求を行うことができるトークン:トークンここでFacebookのドキュメントを読んで、有効なアクセスを取得する方法については

var fb = new FacebookClient("valid_user_access_token"); 
string query = "YOUR FQL QUERY HERE"; 
dynamic result = fb.Query(query); 

https://developers.facebook.com/docs/authentication/

+0

2つの質問:ユーザーアクセストークンまたはページアクセストークンですか?また、これは定期的にメトリクスを取得するバッチアプリケーションであると考えられているので、すべてのユーザーログインを完全に排除する必要があります。 FacebookOAuthClient()。GetUserAccessToken(parameters)メソッドまたはFacebookOAuthClient()。APIのGetPageAccessToken(parameters)メソッドを使用する方法はありますか? –

+0

(ページメトリックを定期的に取得します)したがって、App authトークンが不足しているようです。 –

関連する問題