Wordpressの固定ページに、Twilioのログを表示したい
当方、html・cssはある程度理解していますが、
phpは「実現したいこと」をその都度(局所的に)調べて解決しています。
今回、
Wordpressの固定ページに、Twilioのログを取得・表示させたいと考えています。
EXAMPLE JSON API RESPONSE
{ "calls": [ { "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "annotation": "billingreferencetag1", "answered_by": "machine_start", "api_version": "2010-04-01", "caller_name": "callerid1", "status": "completed",} // 一部抜粋及び略
のような形での取得がしたいです。
当初、__cURL関数__を用いて実現出来ないか?と試行錯誤しましたが、
にあるような形での取得が出来なかった為、
同サイトに記載されている
php
<?php // Update the path below to your autoload.php, // see https://getcomposer.org/doc/01-basic-usage.md require_once '/path/to/vendor/autoload.php'; use Twilio\Rest\Client; // Find your Account SID and Auth Token at twilio.com/console // and set the environment variables. See http://twil.io/secure $sid = getenv("TWILIO_ACCOUNT_SID"); $token = getenv("TWILIO_AUTH_TOKEN"); $twilio = new Client($sid, $token); $calls = $twilio->calls ->read([], 20); foreach ($calls as $record) { print($record->sid); }
を用いる形で組んでみました。
固定ページに表示されたエラーメッセージ
Fatal error: Uncaught Twilio\Exceptions\ConfigurationException: Credentials are required to create a Client in /home/hoge/hoge/public_html/wp-content/themes/hoge/Twilio/Rest/Client.php:168 Stack trace: #0 /home/hoge/hoge/public_html/wp-content/themes/hoge/hoge.php(33): Twilio\Rest\Client->__construct('', '') #1 /home/hoge/hoge/public_html/wp-includes/template-loader.php(106): include('/home/hoge/...') #2 /home/hoge/hoge/public_html/wp-blog-header.php(19): require_once('/home/hoge/...') #3 /home/hoge/hoge/public_html/index.php(17): require('/home/hoge/...') #4 {main} thrown in /home/hoge/hoge/public_html/wp-content/themes/hoge/Twilio/Rest/Client.php on line 168
上記、エラーが表示され__json__を取得することが出来ませんでした。
固定ページテンプレート .php
<?php get_header(); ?> <?php basic-usage.md require_once 'Twilio/autoload.php'; // 編集している.phpと同階層に Twilioフォルダがあります。 use Twilio\Rest\Client; $sid = getenv("hogehoge"); $token = getenv("hogehoe"); $twilio = new Client($sid, $token); $calls = $twilio->calls ->read([], 20); foreach ($calls as $record) { print($record->sid);} ?> <?php wp_footer(); ?>
試したこと
Twilio/Exceptions/ConfigurationException.php
<?php namespace Twilio\Exceptions; class ConfigurationException extends TwilioException { }
上記、関係があるかと思いましたが、ピンと来ませんでした・・
また、
/Twilio/Rest/Client.php:168
Client.php :167~169
$this->logLevel = $this->getArg(null, self::ENV_LOG); if (!$this->username || !$this->password) { throw new ConfigurationException('Credentials are required to create a Client'); }
と支給ファイルの記述もあったので、
念のため公式サポートへ当該エラー内容を問い合わせましたが、
$sid = getenv("TWILIO_ACCOUNT_SID"); $token = getenv("TWILIO_AUTH_TOKEN");
引用テキスト上記を、使用しているアカウントのものへ書き換えが必要。
との返信のみで、具体的なコーディングへの問い合わせはサポート外とのことでした。
(解っていましたが^^;)
補足情報
-
Wordpress Ver.5.7.1
-
PHP7.4.13
-
Basic認証をかけています。が、念のため、外しても同じ現象でした。
-
Twilio REST API は composerでのインストールはしていません。
-
Twilio docs サイトに記載されているリンクからtwilio-php-mainをDLし、
前述のdocsソース内の
require_once '/path/to/vendor/autoload.php';
をwpテーマのディレクトリ内に読みにいっています。
- 構築中に、__allow_url_include__絡みのエラーなども出ましたが、
サーバの__php.ini__から設定を変更したり、調べてわかったエラーは潰している認識です。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/13 09:17
2021/05/14 03:42