Drupalでは、.moduleファイルをWebから直接実行することはできません。各モジュールはhook_menuを実装する必要があり、そのフックは使用するURLを作成します。つまり、yourmodule.moduleへのパスではなく、yourmodule_menuによって作成されたURLをTropoに与えます。
たとえば、Tropoのサンプルモジュールのhook_menuがあります。
<?php
function demo_menu() {
$items = array();
// Set up a route for the incoming call
$items['demo/answer'] = array(
'page callback' => 'demo_answer',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function demo_answer() {
module_load_include('php', 'tropo', 'lib/tropo/tropo.class');
$tropo = new Tropo();
$tropo->say('Hello. And Goodbye.');
print $tropo;
}
?>
demo_menu関数は、サイトのURLとしてdemo/answerを定義します。あなたのサイトがexample.comの場合、TropoにURLをhttp://example.com/demo/answerと指定します。その後、誰かがTropoの電話番号を呼び出すと、demo_answer()関数が実行され、 "Hello。And Goodbye"と発音します。その後、ハングアップします。
デモではTropoを幅広く使用しているアプリケーションフレームワークとしてDrupalを使用する方法について、私が使ったシンプルなデモモジュールがあります。 https://github.com/akalsey/drupal-framework-demo
電話投票モジュールも良い例です。 Tropoを使用してDrupal 6の内蔵ポーリングモジュールに音声とSMSを追加します。 http://drupal.org/project/phonepoll
VoipDrupalもご覧ください。これにより、Tropoのようなサービスとやり取りするスクリプトをDrupalで直接ビルドすることができます。 http://drupal.org/project/voipdrupal
詳細な回答とコードサンプルをありがとう!私は今これを試している:)。 – Chiubaka
私が働くことができなかった唯一のものは許可でした。私はURL:/を入力するたびにアクセス拒否ページを取得しました。いくつかの調査をした後、私は単に 'access callback'という行を挿入することにしました=> TRUE – Chiubaka
あなたはあなたが使っていたDrupalのバージョンは言及していませんでした。メニューアクセスAPIは時間の経過とともに少し変化しました。上記の例はDrupal 7でも動作するはずですが、 "誰でもそのURLにアクセスできるようにしたい場合は、" '' access callback '=> TRUE' 'を実行してください。 –