Flutter 如何使用带颤振的堆垛机
我正在开发一个颤振应用程序。是否有任何方法可以将数据直接从颤振/飞镖写入StackDriver。您可以使用: 例如:Flutter 如何使用带颤振的堆垛机,flutter,dart,stackdriver,Flutter,Dart,Stackdriver,我正在开发一个颤振应用程序。是否有任何方法可以将数据直接从颤振/飞镖写入StackDriver。您可以使用: 例如: import 'package:googleapis/logging/v2.dart'; import 'package:googleapis_auth/auth.dart'; import 'package:googleapis_auth/auth_io.dart'; final _credentials = new ServiceAccountCredentials.fr
import 'package:googleapis/logging/v2.dart';
import 'package:googleapis_auth/auth.dart';
import 'package:googleapis_auth/auth_io.dart';
final _credentials = new ServiceAccountCredentials.fromJson(r'''
{
... YOUR CREDENTIALS ....
}
''');
const _SCOPES = const ['https://www.googleapis.com/auth/logging.write'];
clientViaServiceAccount(_credentials, _SCOPES).then((httpClient) {
var errorReporting = new LoggingApi(httpClient);
// Resource
var resource = new MonitoredResource();
resource.type = 'global';
resource.labels = {
'project_id': 'PROJECT_ID',
};
// Prepare new log entry.
LogEntry logEntry = new LogEntry();
logEntry.logName = "projects/PROJECT_ID/logs/LOG_ID";
logEntry.jsonPayload = {'message': 'YOUR MESSAGE'};
logEntry.resource = resource;
var request = new WriteLogEntriesRequest();
request.entries = [logEntry];
errorReporting.entries.write(request).then((_) {
print('log entry sent');
});
});
但是,请注意,您需要将您的凭据放在您的flutter应用程序上,而“黑客”可能会窃取它。因此,最好将日志发送到后端,然后将其发送到StackDriver。为了将日志写入StackDriver,您必须通过Google云平台的身份验证。一般来说,您有两种身份验证选项: 1.用户名密码 使用
google\u-Sign\u-in
登录,这将创建一个客户端,您可以与googleapis
一起使用,然后再利用可用的不同API
2.服务帐户
读取生成的凭证JSON文件并使用clientViaServiceAccount
。不支持此方法,因为颤振提供的dart SDK中缺少dart:html
包,出于安全考虑,最终不应使用此方法。(在构建包中托管凭据文件)
我的最佳建议是在服务器端创建一个用于日志记录的端点,在这里,您可以使用任何身份验证方法使用任何日志库。您尝试过这个吗?我不能使用
googleapis\u auth
,因为它依赖于dart:html
是的,我想展示一下如何使用dart/flatter。但是正确的方法应该是创建一个“日志后端”,然后从那里向StackDriver发送内容。