Подключение API Google к расширению Chrome
Я уверен, что это действительно очевидно и легко сделать, но я не могу найти информацию о том, как это сделать.
Так что у меня есть расширение Chrome, которое делает некоторые вещи и собирает некоторые данные с помощью JavaScript. Это все работает отлично. Я хочу записать эти данные в таблицу Google. Поэтому я использовал Google Spreadsheet API для написания кода на Java, который вставлял бы строки с данными в соответствующую электронную таблицу. (Код - это просто учебник, который находится здесь https://developers.google.com/google-apps/spreadsheets/ с соответствующими битами OAuth, которые будут добавлены)
Как я могу заставить мое расширение использовать это? Нужно ли упаковывать его как веб-приложение и вызывать из расширения? Могу ли я написать код JavaScript, который выполняет то же самое, и упаковать его вместе с приложением? Опять же, извините, если это действительно очевидно, я впервые работаю над веб-приложениями, поэтому пытаюсь понять это по мере продвижения вперед. Благодарю.
Вот (урезанный) Java-код для записи в электронную таблицу:
public class MySpreadsheetIntegration {
public static void main(String[] args)
throws AuthenticationException, MalformedURLException, IOException, ServiceException {
**OAuth stuff all happens first, not shown here as I'm not too concerned about it at the moment***
SpreadsheetService service =
new SpreadsheetService("MySpreadsheetIntegration-v1");
// Define the URL to request. This should never change.
URL SPREADSHEET_FEED_URL = new URL(
"https://docs.google.com/some_url");
// Make a request to the API and get all spreadsheets.
SpreadsheetFeed feed = service.getFeed(SPREADSHEET_FEED_URL,
SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
//this pulls out the first spreadsheet.
SpreadsheetEntry spreadsheet = spreadsheets.get(0); //spreadsheet is of type List
//System.out.println(spreadsheet.getTitle().getPlainText());
// Get the first worksheet of the first spreadsheet.
WorksheetFeed worksheetFeed = service.getFeed(
spreadsheet.getWorksheetFeedUrl(), WorksheetFeed.class);
List<WorksheetEntry> worksheets = worksheetFeed.getEntries();
WorksheetEntry worksheet = worksheets.get(0);
// Fetch the list feed of the worksheet.
//I think this will give me the headings from the spreadsheet, but insert them manually for now
URL listFeedUrl = worksheet.getListFeedUrl();
ListFeed listFeed = service.getFeed(listFeedUrl, ListFeed.class);
// Create a local representation of the new row.
ListEntry row = new ListEntry();
String sDt, sUs, sTy, sAcc, sAccTy, sCon, sNt, sFw, sFwDt;
sDt = "1/1/2013";
sUs = "SK";
row.getCustomElements().setValueLocal("Date", sDt);
row.getCustomElements().setValueLocal("User", sUs);
// Send the new row to the API for insertion.
//this will be inserted at the bottom of the row.
//TODO make this get inserted at the top of the worksheet
row = service.insert(listFeedUrl, row);
System.out.println("Revoking OAuth Token...");
oauthHelper.revokeToken(oauthParameters);
System.out.println("OAuth Token revoked...");
}
}
Всплывающее окно расширения представляет собой простую HTML-страницу с формой на ней. У меня есть javascript, который записывает некоторые детали в эту форму, а затем пользователь вводит некоторые вручную. Затем я хочу использовать API электронных таблиц, чтобы взять эти значения и записать их в соответствующую электронную таблицу. Именно это и делает приведенный выше код Java, но я не знаю, как их соединить.