1

私は得る

HttpException: ヘッダー値の解析に失敗しました

M2 リリースdart httpおよびoauth2ライブラリを使用して http.Client.get(Uri) メソッドを呼び出す場合。API を使用してFile: getを実行しようとしています。トークンを取得するために、認証要求を単純なコンソールベースの http サーバーに正常にリダイレクトしました。次のコードでは、例外が発生します。

oauth.Credentials credentials = new oauth.Credentials(code);
http.Client client = new oauth.Client(CLIENT_ID, CLIENT_SECRET, credentials);
Uri uri = new Uri("https://www.googleapis.com/drive/v2/files/$fileID");
Future<http.Response> result = client.get(uri);

以下は、完全なスタック トレースです。

HttpException: Failed to parse header value
Unhandled exception:
FutureUnhandledException: exception while executing Future
HttpException: Failed to parse header value
original stack trace:
  null
#0      _FutureImpl._complete (bootstrap:844:11)
#1      _FutureImpl._complete (bootstrap:848:5)
#2      _FutureImpl._setException (bootstrap:873:14)
#3      _CompleterImpl.completeException (bootstrap:952:30)
#4      _FutureImpl._forwardException.<anonymous closure> (bootstrap:936:34)
#5      _FutureImpl._complete (bootstrap:832:22)
#6      _FutureImpl._complete (bootstrap:848:5)
#7      _FutureImpl._setException (bootstrap:873:14)
#8      _CompleterImpl.completeException (bootstrap:952:30)
#9      _FutureImpl._forwardException.<anonymous closure> (bootstrap:936:34)
#10     _FutureImpl._complete (bootstrap:832:22)
#11     _FutureImpl._complete (bootstrap:848:5)
#12     _FutureImpl._setException (bootstrap:873:14)
#13     _CompleterImpl.completeException (bootstrap:952:30)
#14     _FutureImpl._forwardException.<anonymous closure> (bootstrap:936:34)
#15     _FutureImpl._complete (bootstrap:832:22)
#16     _FutureImpl._complete (bootstrap:848:5)
#17     _FutureImpl._setException (bootstrap:873:14)
#18     _CompleterImpl.completeException (bootstrap:952:30)
#19     _FutureImpl._forwardException.<anonymous closure> (bootstrap:936:34)
#20     _FutureImpl._complete (bootstrap:832:22)
#21     _FutureImpl._complete (bootstrap:848:5)
#22     _FutureImpl._setException (bootstrap:873:14)
#23     _CompleterImpl.completeException (bootstrap:952:30)
#24     IOClient.send.<anonymous closure>.<anonymous closure> (package:http/src/io_client.dart:38:36)
#25     _FutureImpl._complete (bootstrap:840:19)
#26     _FutureImpl._complete (bootstrap:848:5)
#27     _FutureImpl._setValue (bootstrap:862:14)
#28     _CompleterImpl.complete (bootstrap:949:26)
#29     async.<anonymous closure> (package:http/src/utils.dart:173:41)
#30     _Timer._createTimerHandler._handleTimeout (dart:io:7035:28)
#31     _Timer._createTimerHandler._handleTimeout (dart:io:7043:7)
#32     _Timer._createTimerHandler.<anonymous closure> (dart:io:7051:23)
#33     _ReceivePortImpl._handleMessage (dart:isolate-patch:37:92)
4

2 に答える 2

1

Google Drive SDK APIを使用するには、Dart アプリケーションから Google API にアクセスできるように するGoogle API Client Library for Dartを使用できます。

https://github.com/Scarygami/dart-google-oauth2-libraryはこれから構築され、代替として機能します。

于 2013-01-02T07:46:45.950 に答える
0

おそらくSSLを初期化していませんか?

SecureSocket.initialize();

詳細については、 http://api.dartlang.org/docs/bleeding_edge/dart_io/SecureSocket.htmlを参照してください。

于 2013-01-02T19:15:31.467 に答える