我一直在尝试将 Nest 集成到我的 iOS 应用程序中,遵循有关用户身份验证的所有说明,然后调用 Nest API。
我使用 Nest 的 iOS 示例应用程序作为参考:
https://github.com/nestlabs/iOS-NestDK https://github.com/nestlabs/iOS-NestDK
我确认他们的项目正在运作。
这是来自他们项目的一些代码,我对其进行了修改以查看是否为“数据”设置了任何内容。
self.rootFirebase = [[Firebase alloc] initWithUrl:@"https://developer-api.nest.com/"];
[self.rootFirebase authWithCredential:[[NestAuthManager sharedManager] accessToken] withCompletionBlock:^(NSError *error, id data)
{
if (error)
{
NSLog(@"Auth Failed! %@", error);
}
else
{
NSLog(@"Auth succeeded! %@", data);
} withCancelBlock:^(NSError *error) {}];
在我的代码中使用最新的 Firebase 框架的完全相同的函数 authWithCredential,不会出现错误,并且我会收到数据响应。但是,在我的代码中进行调用,例如:
Firebase *newFirebase = [self.rootFirebase childByAppendingPath:@"devices"];
[newFirebase observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot)
{
NSLog(@"Got devices: %@", snapshot.value);
}];
什么也没有返回。我已确认已设置一些设备,因为它们显示在他们提供的应用程序中。我在他们的应用程序和我的应用程序上使用相同的 Nest 帐户登录并授权。
我认为他们使用的是旧的 Firebase 框架,因此我从他们的项目中删除了该框架并添加了新框架。相同的结果 - 现在他们的项目应用程序不再返回任何结构/设备/恒温器。我注意到 authWithCredential 现在已被弃用...所以我尝试在他们的应用程序和我的应用程序中使用 authWithCustomToken 来看看它是否有任何不同,但是当我尝试从 Nest 获取信息时仍然没有返回任何内容,即使看来授权成功了...
我使用自己的 Firebase 来实现应用程序中的其他功能,这取决于使用最新的框架,因此我不想使用旧版本。
还有其他人遇到过这个问题吗?有什么想法/解决方案吗?
任何帮助将非常感激。