首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过url调用elgg模块操作

如何通过url调用elgg模块操作
EN

Stack Overflow用户
提问于 2014-04-06 15:49:19
回答 1查看 646关注 0票数 0

我是Elgg的新手,我的要求是创建一个Elgg插件,从Gmail、Yahoo和MSN导入联系人。

我已经在Joomla成功地导入了联系人。当我创建一个Elgg插件时,Oauth回调url就像invitefriends/gmailcallback,甚至直接调用

代码语言:javascript
复制
mod/invitefriends/actions/gmailcallback.php

不起作用。

在第一种情况下,它返回缺少的表单令牌,我尝试动态地添加表单令牌,如下所示。

代码语言:javascript
复制
$ts = time();
    elgg_register_action('invitefriends/gmailcallback',
                        TRUE,
                        elgg_get_plugins_path() . 'invitefriends/actions/gmailcallback.php?__elgg_token='.generate_action_token($ts).'&__elgg_ts='.$ts);

但还是同样的错误。因此,我尝试直接访问模块文件--它工作得很好--但问题是,我没有得到$_SESSION['oauth_token_secret']会话变量not get,它在默认视图中设置,并且具有适当的值,但无法在直接调用方法中获得操作文件中的会话。

我不确定它在埃尔格标准,请建议我解决这个问题。

提前谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-07 11:47:32

不要用直拨电话。第一件事:您使用的是不推荐的操作注册参数--更新您的调用。我想你是在给Elgg 1.8或更高版本写信。

你用完全错误的方式添加了动作标记!为了防止XSRF攻击,它们是必要的,因此需要在URL生成时添加pe。对于elgg_register_action,您需要传递操作文件路径,而不是URL。使用elgg_add_action_tokens_to_url并通过http://docs.elgg.org/wiki/Actions#Security读取

你应该得到具体的错误告诉你,但你没有提到它。

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

https://stackoverflow.com/questions/22896260

复制
相关文章

相似问题

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