【问题标题】:Has anyone been able to get Confluence.pm to add attachments?有没有人能够让 Confluence.pm 添加附件?
【发布时间】:2009-06-12 23:21:51
【问题描述】:

如果可以,您能否提供代码。从创建新页面、修改页面属性等,我几乎可以做所有其他事情。但我似乎无法添加附件。我已经阅读了官方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 empty
sub 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";
    }
}

【问题讨论】:

    标签: perl api xml-rpc confluence


    【解决方案1】:

    您已经完成了 95% 的工作。我的秘诀:

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

    我敢肯定这已经太晚了,无法提供帮助,但也许有一天其他人会碰到它。

    【讨论】:

    • 谢谢!我已经转向其他项目,但感谢您为集体增加了一些见解......
    【解决方案2】:

    尝试看看奇瑞大通使用 SOAP 而不是 RPC 来处理附件。

    在讨论中查看http://confluence.atlassian.com/display/DISC/Perl+XML-RPC+client

    【讨论】:

      【解决方案3】:

      xml-rpc 现在在 confluence 中已被弃用。很多功能目前在 xml-rpc 界面中不起作用。更多作品在肥皂下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-06
        • 1970-01-01
        • 1970-01-01
        • 2022-06-16
        • 2012-01-02
        • 1970-01-01
        • 2014-08-27
        • 2018-08-14
        相关资源
        最近更新 更多