1

クエリを実行するコマンド ライン アプリケーションがあります。これがコードです。

問題は、「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 ;

何か案は?

4

1 に答える 1

1

表示されているエラーは Facebook からのもので、単にリクエストを行うための有効なトークンがないことを示しています。OAuth を使用してユーザー アクセス トークンを要求する必要があります。有効なアクセス トークンを取得したら、次のコードを使用してリクエストを行うことができます。

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/ にある Facebook のドキュメントを参照してください。

于 2012-02-24T04:00:03.193 に答える