Подключение 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, но я не знаю, как их соединить.

0 ответов

Другие вопросы по тегам