2017-05-31 84 views
0

我试图将Google测验项目从一种表单复制到另一种表单,这似乎已经完全成功。但是,我忘记了其中一些物品附有图像。在Google测验表单之间复制图像

这里有一个link to an example quiz.

没有什么记载表明如何访问这些,但我试图从项目和Item.asMultipleChoiceItem的getImage既但既不是公认的。这只是最后两行代码不起作用。

我得到 类型错误:无法找到对象项功能的getImage 或 类型错误:无法找到函数的getImage在对象MultipleChoiceItem

function copyMultipleChoiceItem(item1, item2) { 
// copies MC question item1 to item2 - tested PDW 17/05/20 
// copy of feedback now working - tested PDW 17/05/30 
// 
    var item1MC = item1.asMultipleChoiceItem(); 
// basic question items 
    item2.setTitle(item1.getTitle()); 
    item2.setHelpText(item1.getHelpText()); 
    item2.setPoints(item1MC.getPoints()); 
    item2.setRequired(item1MC.isRequired()); 

// the choices 
    var choices = item1MC.getChoices(); 
    for (var i = 0; i < choices.length; i++) { 
     item2.createChoice(choices[i].getValue(),choices[i].isCorrectAnswer()); 
    } 
    item2.setChoices(choices); 
// the feedback 
    var feedback1 = item1MC.getFeedbackForCorrect(); 
    item2.setFeedbackForCorrect(feedback1); 
    var feedback1 = item1MC.getFeedbackForIncorrect(); 
    item2.setFeedbackForIncorrect(feedback1); 
// the image 
    var image1 = item1.getImage(); 
    item2.setImage(image1); 
} 

Here's a picture of the image which is attached to the MultipleChoiceItem, not an ImageItem in its own right

回答

0

确保您的物品1是一个ImageItem,我已经基于你的代码制作了一个测试脚本。下面是摘录:

function myFunction() { 
    // Create and open a form. 
var newForm = FormApp.create('Form Name'); 
var img = UrlFetchApp.fetch('https://www.google.com/images/srpr/logo4w.png'); 

var pageTwo = newForm.addPageBreakItem().setTitle('Page Two'); 
var newImage = newForm.addImageItem() 
    .setTitle('Google') 
    .setHelpText('Google Logo') // The help text is the image description 
    .setImage(img); 
var pageThree = newForm.addPageBreakItem().setTitle('Page Three'); 
    var img2 = newForm.addImageItem(); 
    ImageCopy(newImage,img2); 
} 

function ImageCopy(itemImage,img2){ 
    var image1 = itemImage.getImage(); 
    img2.setImage(image1); 
} 

下面是结果:

enter image description here

enter image description here

希望这有助于。

+0

谢谢,但图像本身并不是一个ImageItem,因为它连接到了MultipleChoiceItem。我会添加一张图片到我原来的帖子,所以它是有道理的。 –

+0

你还可以添加问题2的代码吗? –

+0

我在帖子中添加了一个链接,其中包含图片的测验。如果你能在这里找到任何地方,我会非常感兴趣。 –