我是Elgg的新手,我的要求是创建一个Elgg插件,从Gmail、Yahoo和MSN导入联系人。
我已经在Joomla成功地导入了联系人。当我创建一个Elgg插件时,Oauth回调url就像invitefriends/gmailcallback,甚至直接调用
mod/invitefriends/actions/gmailcallback.php不起作用。
在第一种情况下,它返回缺少的表单令牌,我尝试动态地添加表单令牌,如下所示。
$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,它在默认视图中设置,并且具有适当的值,但无法在直接调用方法中获得操作文件中的会话。
我不确定它在埃尔格标准,请建议我解决这个问题。
提前谢谢..。
发布于 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读取
你应该得到具体的错误告诉你,但你没有提到它。
https://stackoverflow.com/questions/22896260
复制相似问题