Node.js で SurveyMonkey のデータを MySQL データベースとしてクエリ
SurveyMonkey 用の ODBC Driver の SQL Gateway を使用すると、MySQL インターフェース経由でSurveyMonkey のデータをクエリできます。以下の手順に従って、SQL Gateway の MySQL リモーティングサービスを起動し、Node.js からクエリを開始してください。
SurveyMonkey のデータに接続
まだ行っていない場合は、データソース名(DSN)で必要な接続プロパティの値を指定してください。組み込みの Microsoft ODBC データソースアドミニストレーターを使用して DSN を設定できます。これはドライバーインストールの最後のステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して DSN を作成・設定する方法については、ヘルプドキュメントの「はじめに」の章を参照してください。
SurveyMonkey はOAuth 2 認証標準を利用しています。SurveyMonkey がアンケートの回答を読むためにこれを必要とすることを考えると、アンケートを読むアカウントには有料プランのサブスクリプションが必要です。
SurveyMonkey への接続に使用できる認証方法は2つあります。
- プライベートoauth アプリケーションを登録するときに、パーソナルアクセストークンを使用します。
- パブリックoauth アプリケーションを登録するときに、OAuth を使用します。
パーソナルアクセストークンの使用
個人用トークンを使用して、自分のデータをテストし、アクセスします。個人用トークンを取得するには、ヘルプの「Creating a Custom OAuth App」の手順に従って、次の接続プロパティを設定します。
- OAuthAccessToken:アプリケーション設定で生成されたAccessToken に設定。
- InitiateOAuth:OFF に設定。
OAuth の使用
CData 製品はすでにSurveyMonkey にOAuth アプリケーションとして登録されています。そのため、デフォルトでは、自動的に埋め込みクレデンシャルを使用して接続します。
独自のカスタムOAuth アプリを使用したい場合は、ヘルプのCustom Credentials を参照してください。
SQL Gateway を設定
SQL Gateway 概要を参照して、SurveyMonkey のデータ を仮想 MySQL データベースとして接続を設定してください。クライアントからの MySQL リクエストをリッスンする MySQL リモーティングサービスを設定します。サービスは SQL Gateway UI で設定できます。

Node.js から SurveyMonkey をクエリ
以下の例では、mysql モジュールを使用して SurveyMonkey への接続を定義し、クエリを実行する方法を示しています。以下の情報が必要です。
- ホスト名またはアドレス、およびポート:MySQL リモーティングサービスが MySQL 接続をリッスンしているマシンとポート
- ユーザー名とパスワード:SQL Gateway の Users タブで認証したユーザーのユーザー名とパスワード
- データベース名:MySQL リモーティングサービス用に設定した DSN
以下のコードでSurveyMonkey のデータに接続し、クエリの実行を開始できます。
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
database : 'CData SurveyMonkey Sys',
port : '3306',
user : 'mysql_user',
password : 'test'
});
connection.connect();
connection.query('SELECT * FROM MySurvey_Responses', function(err, rows, fields) {
if (err) throw err;
console.log(rows);
});
connection.end();