我正在测试 XML-RPC 使用发帖人(Chrome扩展程序)创建 drupal 节点并成功完成接收 200 好的。但问题是一个名为" field_answer_with_image
"的特定领域。在我创建的节点中仍然是空白的。我认为我的结构有问题。
这是field_answer_with_image
的分类。
这是我创建节点的xml结构。
<?xml version="1.0" encoding="UTF-8"?><methodCall>
<methodName>node.create</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>field_category</name>
<value>
<struct>
<member>
<name>und</name>
<value>
<array>
<data>
<value>
<string>23</string>
</value>
</data>
</array>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>field_email</name>
<value>
<string>mspiral.zwh@gmail.com</string>
</value>
</member>
<member>
<name>body</name>
<value>
<struct>
<member>
<name>und</name>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>value</name>
<value>
<string>test yoo</string>
</value>
</member>
</struct>
</value>
</data>
</array>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>type</name>
<value>
<string>question</string>
</value>
</member>
<member>
<name>field_answer_with_image</name>
<value>
<struct>
<member>
<name>und</name>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>filemime</name>
<value>
<string>image/jpeg</string>
</value>
</member>
<member>
<name>
title
</name>
<value>
<string>
</string>
</value>
</member>
<member>
<name>filename</name>
<value><string>GW_temp.jpeg</string></value>
</member>
<member>
<name>status</name>
<value><string>1</string></value>
</member>
<member>
<name>fid</name>
<value><string>1611</string></value>
</member>
<member>
<name>height</name>
<value><string></string></value></member>
<member>
<name>width</name><value><string></string></value></member><member>
<name>timestamp</name><value><string>1469009864</string></value></member><member>
<name>filesize</name><value><string>10664</string></value></member><member>
<name>uid</name><value><string>1543</string></value></member><member>
<name>alt</name><value><string></string></value></member><member>
<name>rdf_mapping</name><value><string></string></value></member><member>
<name>uri</name><value><string>public://GW_temp_1.jpeg</string></value></member>
</struct>
</value>
</data>
</array>
</value>
</member></struct></value></member>
<member><name>field_name</name><value><string>cristy</string></value></member></struct></value></param>
答案 0 :(得分:1)
您需要先创建图像,然后在第二步中使用文件ID创建节点。
第1步:
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>file.create</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>filename</name>
<value>
<string>Dummy.jpg</string>
</value>
</member>
<member>
<name>filesize</name>
<value>
<int>440048</int>
</value>
</member>
<member>
<name>file</name>
<value>
<string>$BASE64$</string>
</value>
</member>
<member>
<name>filepath</name>
<value>
<string>public://Dummy.jpg</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
这将返回带有“fid”字段的XML值。找到匹配的'value',一个整数。
然后在步骤2中创建节点(假设fid = 170):
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>node.create</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>type</name>
<value>
<string>dummy_content_type</string>
</value>
</member>
<member>
<name>title</name>
<value>
<string>Dummy> 123456</string>
</value>
</member>
<member>
<name>field_dummy</name>
<value>
<struct>
<member>
<name>und</name>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>type</name>
<value>
<string>image</string>
</value>
</member>
<member>
<name>fid</name>
<value>
<string>170</string>
</value>
</member>
<member>
<name>uid</name>
<value>
<string>1</string>
</value>
</member>
<member>
<name>filename</name>
<value>
<string>Dummy.jpg</string>
</value>
</member>
<member>
<name>filesize</name>
<value>
<string>44408</string>
</value>
</member>
<member>
<name>filepath</name>
<value>
<string>public://Dummy.jpg</string>
</value>
</member>
</struct>
</value>
</data>
</array>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
这将返回与前一个帖子请求类似的节点ID。
在Drupal 7中工作。