首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Drupal模块的Tropo WebAPI

带有Drupal模块的Tropo WebAPI
EN

Stack Overflow用户
提问于 2012-01-04 01:40:48
回答 1查看 280关注 0票数 0

我正在尝试扩展Drupal网站的功能,使其包含Tropo服务。我绝对需要能够访问我的Drupal数据库和Drupal为它自己的工作提供给我的API。我在编写Drupal模块方面还是个新手,但现在似乎发生的情况是,Tropo无法将我的.module文件识别为PHP,因此它无法接收必要的JSON调用。

我需要a)一种让Tropo从我的.module文件中读取的方法,或者b)一种向我的模块添加常规.php文件的方法,这样我仍然可以进行所有普通的Drupal函数调用,Tropo可以访问我的脚本。

有什么想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-04 02:48:53

在Drupal中,您不能直接从web运行.module文件。每个模块都应该实现hook_menu,这个钩子会创建您要使用的URL。所以你给Tropo的是yourmodule_menu创建的URL,而不是yourmodule.module的路径。

例如,下面是Tropo的一个示例模块中的hook_menu。

代码语言:javascript
复制
<?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。如果你的网站是example.com,你应该把你的网址设为http://example.com/demo/answer。然后,当有人呼叫您的Tropo电话号码时,demo_answer()函数将运行,它会说出"Hello.和Goodbye“。然后就挂断了。

我在一次关于使用Drupal作为应用程序框架的演讲中使用了一个简单的演示模块,这可能会有所帮助--我在演示中广泛使用了Tropo。https://github.com/akalsey/drupal-framework-demo

电话投票模块也是一个很好的例子。它使用Tropo将语音和短信添加到Drupal6的内置投票模块中。http://drupal.org/project/phonepoll

您可能还想看看VoipDrupal。这允许您直接在Drupal中构建与Tropo等服务交互的脚本。http://drupal.org/project/voipdrupal

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8716348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档