CData Connect Cloud 経由で、PHP からInstagram データにアクセス

詳細情報をご希望ですか?

製品について詳細情報や無償トライアルをご案内します:

CData Connect



PHP の標準MySQL ライブラリでInstagram データをクエリする方法。

CData Connect Cloud を使えば、Instagram データに対し、ETL 処理やキャッシュ処理なしでもMySQL クライアントからデータ連携ができるようになります。次のステップで、Instagram の仮想MySQL データベースを作成して、mysqli toPDO_MySQL の標準MYSQL インターフェースでリアルタイムInstagram に接続します。

CData Connect Cloud は、Instagram データのクラウドto クラウドのインターフェースを仮想MySQL として提供し、PHP からRDB のようにデータをSQL でクエリすることができます。CData Connect Cloud がNode.js から発行されるSQL クエリ(フィルタリングやJOIN も可能)をパースしてInstagram に送り、PHP アプリ にInstagram からのデータを返します。インテリジェントなサーバーサイドプロセスで、多様なクエリをパフォーマンス良く利用できます。

Instagram の仮想MySQL データベースを作成

CData Connect Cloud は、直観的なPoint-and-click インターフェースでデータソースへの接続およびAPI エンドポイント作成を行います。

  1. Connect Cloud にログインして、[Databases]をクリックします。
  2. 利用できるデータソースアイコンから"Instagram" を選択します。
  3. Instagram に接続するために必要なプロパティを入力します。

    Instagram はOAuth 2 認証標準を使用します。Instagram にアプリを登録して、OAuthClientId、OAuthClientSecret、およびCallbackURL を取得する必要があります。詳しくはヘルプドキュメントを参照してください。

  4. Test Database をクリックします。
  5. [Privileges]->[ Add]をクリックして、新しいユーザーを追加し、適切な権限を指定します。

これで、Instagram の仮想データベースが作成でき、MySQL クライアントからの連携が可能になりました。

PHP での接続

次のサンプルのように、Object-Oriented インターフェースを使い、接続とクエリ実行を行います。 仮想MySQL に以下の接続パラメータで接続します:

  • Host:サービスが稼働しているリモートホストロケーションを指定します。この場合、"myinstance.cdatacloud.net" がリモートホスト設定の値になります。
  • Username:Connect Cloud で登録された権限のあるユーザー名を指定します。
  • Password:ユーザーのパスワードを指定します。
  • Database Name:Instagram の仮想データベース名を指定します。
  • Port:3306 を指定します。

mysqli

<?php
$mysqli = mysqli_init();

$mysqli->ssl_set("C:/certs/cloudclient.key",
                 "C:/certs/cloudclient.pem",
                 "C:/certs/myCA.pem",
                 NULL,NULL);

$mysqli->real_connect("mysintance.cdatacloud.net", "admin", "mypassword", "instagramdb",3306,NULL,MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT);
?>

PDO

<?php
$pdo = new PDO('mysql:host=myinstance.cdatacloud.net;dbname=instagramdb;port=3306;','admin', 'mypassword', array(
    PDO::MYSQL_ATTR_SSL_KEY                => 'C:/certs/cloudclient.key',
    PDO::MYSQL_ATTR_SSL_CERT               => 'C:/certs/cloudclient.pem',
    PDO::MYSQL_ATTR_SSL_CA                 => 'C:/certs/myCA.pem',
    PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false
    )
);
?>

PHP でのクエリ

作成された接続でテーブルへのアクセスを実行します。以下がサンプルです:

  1. Media テーブルをクエリします。結果は、$result オブジェクトの連想配列に保存されます。
  2. 各行とカラムを処理して、PHP ページに値をプリントします。
  3. 接続をクローズします。

mysqli

$result = $mysqli->query("SELECT Link, LikesCount FROM Media");
while($row = $result->fetch_assoc()) {
  foreach ($row as $k=>$v) {
    echo "$k : $v";
    echo "<br />"; 
  }
}
$mysqli->close();

PDO

$result = $pdo->query("SELECT Link, LikesCount FROM Media");
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
  foreach ($row as $k=>$v) {
    echo "$k : $v";
    echo "<br />"; 
  }
}
$result = null;
$pdo = null;