1

Picasa Web Albums Data API を使用して、WPF アプリケーションからユーザーのフォト アルバムにアクセスしています。

ここにあるコードに従いました: http://code.google.com/apis/gdata/clientlogin.html

Google Apps (hosted) アカウントで Picasa ウェブ アルバム アカウントを作成しました。WPF アプリケーションでログインしようとすると、「BadAuthentication」エラー コードが返されます。

誰かが私が間違っていることを知っていることを願っています。これは、通常の Google アカウントでログインしたときに機能することに注意してください。

ここに私のコードのスニペットがあります:


GDataGAuthRequestFactory authFactory = new GDataGAuthRequestFactory("lh2", _appName);
authFactory.AccountType = "HOSTED_OR_GOOGLE";

_picasaService = new PicasaService(authFactory.ApplicationName);
_picasaService.RequestFactory = authFactory;

_picasaService.setUserCredentials(username, password);
return _picasaService.QueryAuthenticationToken();

4

2 に答える 2

1

少し遊んだ後、 を変更したところAccountType = "GOOGLE"、うまくいきました。

考えてみれば、それは理にかなっている。既存のメール アドレスを使用してアカウントを作成しました。したがって、この状況では、ホストされたアカウントではなく、Google アカウントにログインしていました。

最初は a を指定していなかったRequestFactoryので、コードは次のようになりました。


_picasaService = new PicasaService(_appName);

_picasaService.setUserCredentials(username, password);
return _picasaService.QueryAuthenticationToken();

これにより、「無効なユーザー」エラーが発生します。これを機能させるには、を設定する必要があると当初考えていAccountType = "HOSTED_OR_GOOGLE"ました。私は頭の中でそれを持っていました。だから私はRequestFactory、私の問題を解決すると考えて、を追加しました。

GDataGAuthRequestFactoryのドキュメントを見てください。AccountTypeはデフォルトで に設定されていると記載されている"GOOGLE_OR_HOSTED"ので、次のコードを試しました。

GDataGAuthRequestFactory authFactory = new GDataGAuthRequestFactory("lh2", _appName);
authFactory.AccountType = "GOOGLE_OR_HOSTED";

_picasaService = new PicasaService(authFactory.ApplicationName);
_picasaService.RequestFactory = authFactory;

そして、それは機能します。AccountTypeofの文書化されたデフォルト値"GOOGLE_OR_HOSTED"は正しくないと結論付けなければなりません。

于 2009-05-19T12:56:36.497 に答える
0

HOSTEDは Google Apps アカウントをGOOGLE 意味し、Google アカウントを意味します。自分で決める必要があります。これは正確にはドキュメントのバグではありません..

于 2010-04-23T10:30:29.570 に答える