There are different ways you can view a document made in Google Apps
- docs.google.com/spreadsheet/pub
- docs.google.com/a/domain.com/spreadsheet/viewform?formkey=FORMID
- docs.google.com/spreadsheet/viewform?formkey=FORMID
- Embed on domain of application
Where 2 redirects to 3. Option 1 is most likely what you want users to see.
Option 1 is found via File > Publish to Web. Here you should see the choice to let users sign in with their domain.com account. This is greyed out but we will deal with this a little later on Thus if I am no signed with a domain.com I will get the request page. You will need to go to Form > Edit Form and change the sign-in option to view the form (not the spreadsheet). Now depending on your visibility settings you may get a pop-up asking whether the form should be seen outside of domain.com.
If you wanted Option 4, don't deselect this option. You will need to get this on the domain itself so for example domain.com/form.html. Using a Google sites for example https://sites.google.com/a/domain.com/test/ to handle the form will not work.
If you selected the uncheck the sign-in to view form, Option 3 should now work.
To get Option 1 working the admin of the Apps account needs to go in the Dashboard settings and manually enable it. Note changes will take a while to propagate, be patient with this change in the dashboard
The spreadsheet is not the actual repository of responses. There is a 'bucket' of responses that is connected to the form itself.
The data presentation features use the responses connected to the form.
You need to use a script to add the extra responses to the Form object. You won't be able to save the original dates with the old responses, as the timestamp is always when you add a response to the Form.
The process works like this:
+-------------+
|Form |----+
|-------------| |
|Responses | |
| | v
| | User
+-------------+ submits
^ form
| +
Saved to |
| |
| |
+--------------+ |
| Response |< -+
+--------------+
|
|
Copied to
|
v
+-------------+
|Spreadsheet |
|-------------|
| |
| |
+-------------+
When the response is saved, it is saved to the form and copied to the spreadsheet.
From a different answer (relevant code attached) - you can use something like the test submission technique I used to populate the form with the responses. You would have to get your answers from the spreadsheet, and use the appropriate item type.
function testOnSubmit() {
var answers = [
["Sue", "39", "Okay I suppose"],
["John", "22", "Great"],
["Jane", "45", "yeah no"],
["Bob", "33", "Super"]
];
var form = getConnectedForm();
var items = form.getItems();
for (var i = 0; i < answers.length; i++) {
var formResponse = form.createResponse();
for (var j = 0; j < items.length; j++) {
var item = items[j];
var itemResponse = item.asTextItem().createResponse(answers[i][j]);
formResponse.withItemResponse(itemResponse);
}
formResponse.submit();
Utilities.sleep(500);
}
}
Best Answer
It will indeed remove the data in the Responses saved "inside" the Form
You must be very careful about maintaining your data after you start to receive submissions/Responses.
All data is tied to a specific Question Item. As you see in any linked Sheet, if you even change the text of the Question, the link is broken.
This does also happen "inside" the stored Form responses.
You cannot change or remove questions in a Form and get at the data again in the Form Response.
Make sure you have all the data pulled out from the Form before making changes. If you have a Linked Sheet, make sure to back it up, and be prepared to re-link and merge with a new Sheet.