现在我可以使用" Blundell的方法发布数据 Android Developer Tutorials和Blog",但我需要从不同的条目中读取数据。
这是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
方法读取数据?
答案 0 :(得分:0)
要使用GET
retrofit2
方法从Google表格API中读取数据,您应该向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表格API,这是一个要检查的候选名单:
将这些内容添加到您的build.gradle
(模块应用):
实现( 'com.google.apis:谷歌-API服务表:V4-rev525-1.23.0') { 排除组:'org.apache.httpcomponents' }
答案 1 :(得分:0)
这是一个适用于只读公开可见工作表的界面:
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);
}