perl – 有没有人能够通过Confluence.pm添加附件?

perl – 有没有人能够通过Confluence.pm添加附件?,第1张

概述如果是这样,你可以提供代码.我几乎可以做任何其他事情,从创建新页面,修改页面属性等.但我似乎无法添加附件.我已经阅读了官方的 conflunce Perl XML-RPC site and discussions,但是他们在那里显示的所有代码片段似乎对我都不起作用.这是我对它的黑客攻击: # The following command sort of worked:# ~/bin/wikitoo 如果是这样,你可以提供代码.我几乎可以做任何其他事情,从创建新页面,修改页面属性等.但我似乎无法添加附件.我已经阅读了官方的 conflunce Perl XML-RPC site and discussions,但是他们在那里显示的所有代码片段似乎对我都不起作用.这是我对它的黑客攻击:

# The following command sort of worked:# ~/bin/wikitool.pl -action attach_file -url $MYURL# IT attached something but the file was emptysub attach_file {    my $confluence = XMLRPC::lite->proxy($opts{server}."rpc/xmlrpc");    my $token = $confluence->call("confluence1.login",$opts{login},$opts{password})->result();    # Fetch page    my $page = FetchPage($opts{Title});    if (not $page) {      dbg("$opts{Title} page is missing.","FATAL");    }    my $pageID = SOAP::Data->type( string => $$page{ID} );    my $filename = "$ENV{HOME}/tmp/tmp0.gif";    my $Metadata = {        filename => $filename,ContentType => "image/gif",comment => "Some random GIF",};    if (not open file,"< $filename") {        dbg("Could not open file $filename: $!\n","FATAL");    }    binmode file;    my $data;    $data .= $_ while (<file>);    my $call = $confluence->addAttachment($pageID,$Metadata,$data);    my $fault = $call->fault();    if (defined $fault) {        dbg("Could not attach $filename" . $call->faultstring(),"FATAL");    }    else {      print "attached $filename\n";    }}
解决方法 你有95%的路在那里.给我的秘诀:

$data .= $_ while (<file>);my $escaped_data = new RPC::XML::base64($data);my $call = $confluence->addAttachment($pageID,$escaped_data);

我确信现在为时已晚,无法提供帮助,但也许其他人有一天会碰到它.

总结

以上是内存溢出为你收集整理的perl – 有没有人能够通过Confluence.pm添加附件?全部内容,希望文章能够帮你解决perl – 有没有人能够通过Confluence.pm添加附件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1253118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存