尝试将Firebase项目连接到GoogleSheets时出现错误
(lldb) po error
Error Domain=com.google.GTLRErrorObjectDomain Code=403 "The request is missing a valid API key." UserInfo={GTLRStructuredError=GTLRErrorObject 0x61000005c650: {errors:[1] message:"The request is missing a valid API key." code:403 status:"PERMISSION_DENIED"}, NSLocalizedDescription=The request is missing a valid API key.}
这是我的代码
let query = GTLRSheetsQuery_SpreadsheetsValuesGet
.query(withSpreadsheetId: spreadsheetId, range:range)
service.executeQuery(query,
delegate: self,
didFinish: #selector(displayResultWithTicket(ticket:finishedWithObject:error:))
func displayResultWithTicket(ticket: GTLRServiceTicket,
finishedWithObject result : GTLRSheets_ValueRange,
error : NSError?) {
if let error = error {
showAlert(title: "Error", message: error.localizedDescription)
return
}
我看到了类似的问题Invalid API Key supplied using Firebase
我在https://console.developers.google.com/启用了Google表格API 并刷新了GoogleService-Info.plist。从模拟器中删除了应用程序,重置模拟器并将其添加回来。
但我仍然收到错误
我正在使用
我正在使用范围kGTLRAuthScopeSheetsSpreadsheetsReadonly
我在api explorer中执行没有问题
GET https://sheets.googleapis.com/v4/spreadsheets/1o0kCH8As6Zx5q-n8KykaQS053ZkXMzLlc6PWiVnHipw?ranges=A1%3AB2&key={YOUR_API_KEY}
答案 0 :(得分:0)
我解决了这个问题。
这与Firebase无关,是GoogleAPIClientForREST问题
我安装了GoogleAPIClientForREST(1.3.0)而不是1.2.1
我没有通过 GIDGoogleUserautheutheuthecher fetcherAuthorizer()
在1.3.0服务否更长时间有一个授权人我找不到关于执行此操作的正确方法的文档,所以我还原到1.2.1
Googles文档和快速入门已过期
----------------------------------------------- ---------- 更新 -------------------------------- ---------------------
我对GoogleSheets工程师的回复是在groups.google.com/forum
主题中如果您没有
,请添加桥接标头 #import <GTMSessionFetcher/GTMSessionFetcher.h>
#import <GTMSessionFetcher/GTMSessionFetcherService.h>
这将解决1.3.0的问题