簡體   English   中英

Android Studio:使用retrofit2 (GET) 從Google 電子表格中讀取數據

[英]Android studio: Read data from Google spreadsheet using retrofit2 (GET)

現在我可以使用“Blundell Android 開發人員教程和博客”中的方法發布數據,但我需要從不同條目中讀取數據。

這是post的界面:

public interface WebServiceSpreadsheet {

    @POST("1FAIpQLSfKGadkannwHzBhQDhJ9VBidB9oUhX-0mxI6vnyNCzo5G_YSg/formResponse")
    @FormUrlEncoded
    Call<Void> SpreadshettData(
        @Field("entry.1286709617") String ActuatorsApp
    );

}

以及要發布的 Java 代碼:

public class ActActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_act);
        Retrofit retrofit = new Retrofit.Builder().baseUrl(
            "https://docs.google.com/a/acorntechmx.com/forms/d/e/")
            .build();

        final WebServiceSpreadsheet spreadsheetWebService = 
            retrofit.create(WebServiceSpreadsheet.class);


        findViewById(R.id.btnFan1).setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String FanON1 = "Fan ON Hour";

                    Call<Void> SpreadsheetData = 
                        spreadsheetWebService.SpreadshettData(FanON1);
                    SpreadsheetData.enqueue(callCallback);
                }
            }
    );

我應該怎么做與讀取數據GET從方法retrofit2

從與谷歌的API表讀取數據GET從方法retrofit2你應該添加一些方法,以您的WebServiceSpreadsheet接口:

返回給定 ID 的電子表格:

  @GET("/v4/spreadsheets/1FAIpQLSfKGadkannwHzBhQDhJ9VBidB9oUhX-0mxI6vnyNCzo5G_YSg")
  Call<Spreadsheet> get(@Path("spreadsheetId") String spreadsheetId);

之后,您可以調用該方法,如:

Call<Spreadsheet> spreadsheet = spreadsheetWebService.get(“1FAIpQLSfKGadkannwHzBhQDhJ9VBidB9oUhX-0mxI6vnyNCzo5G_YSg”);

您可以使用Google Sheets API作為參考

要在您的 Android 應用程序中使用 Google Sheets API,請查看以下候選清單:

  1. 為您的項目啟用 Google Sheets API或創建新項目並為其啟用 API。
  2. 為您的項目生成發布/調試密鑰庫並獲取 SHA1 密鑰指紋。
  3. 通過將上一步中的包名稱和 SHA1 密鑰指紋插入到您的項目中,從Google Cloud Platform 控制台獲取 API_KEY。
  4. 將這些添加到您的build.gradle (模塊應用程序)中:

    實現('com.google.apis:google-api-services-sheets:v4-rev525-1.23.0'){排除組:'org.apache.httpcomponents'}

這是一個適用於只讀公開可見工作表的界面:

public interface SheetsApi {

  @GET("/v4/spreadsheets/{spreadsheetId}/values/{range}?majorDimension=ROWS")
  Call<SheetsValuesResponse> getValues(
      @Path("spreadsheetId") String sheetId,
      @Path("range") String range,
      @Query("key") String apiKey);

  @GET("/v4/spreadsheets/{spreadsheetId}")
  Call<GetSheetResponse> getSheets(
      @Path("spreadsheetId") String sheetId, @Query("key") String apiKey);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM