2009-05-19 2 views
1

Я использую API данных веб-альбомов Picasa для доступа к фотоальбомам пользователей из приложения WPF.ClientLogin для API данных веб-альбомов Picasa с именем домена Google App

Я следовал код, расположенный здесь: http://code.google.com/apis/gdata/clientlogin.html

Я создал веб-Picasa учета альбомов с Google Apps (поддерживаемым) счета. Всякий раз, когда я пытался войти в систему с моим 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(); 
 

ответ

1

После игры вокруг немного, я изменил AccountType = "GOOGLE", и это сработало.

Мысли об этом, это имеет смысл. Я создал учетную запись, используя существующий адрес электронной почты. Поэтому в этой ситуации я вошел в учетную запись Google, а не в учетную запись.

Изначально я не указан RequestFactory, так что код выглядит следующим образом:


_picasaService = new PicasaService(_appName); 

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

Это может привести к ошибке «Invalid пользователя». Первоначально я думал, что мне нужно будет установить 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; 

И это работает. Я должен сделать вывод, что зарегистрированное значение по умолчанию для AccountType из "GOOGLE_OR_HOSTED" неверно.

+0

Я отправил отчет об ошибках владельцам для Google Data Api для .net: http://code.google .com/р/Google-GData/вопросы/детали? ID = 247 – mlsteeves

0

HOSTED означает, что учетная запись Google Apps, GOOGLE означает учетную запись Google. Вы должны сами решить, это не совсем ошибка в документации.