Для выполнения этого действия требуется авторизация

У меня есть скрипт, который преобразует документ Google в сообщение Blogger (попутно сохраняя изображения в Picasa)... Я использовал библиотеку PicasaApp.

Я хочу запустить приложение как пользователь, обращающийся к веб-приложению, чтобы люди могли использовать его в своих документах и ​​​​в своих блогах.

У меня это работает нормально, но всегда возвращает. Для выполнения этого действия требуется авторизация. при использовании с другой учетной записью Google.

У меня есть функция, которая запускает тестовый код для общения с DocList, PicasaApp и Blogger через API. Все они заставляют меня, автора, аутентифицироваться, и все работает нормально. Я даже пытался изменить имя googleOAuth_ на my_googleOAuth (см. ниже) на случай, если оно конфликтует с googleOAuth_ в PicasaApp.

function my_googleOAuth(name,scope) {
      var oAuthConfig = UrlFetchApp.addOAuthService(name);
    oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
      oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
      oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
    oAuthConfig.setConsumerKey("anonymous"); // Client ID:
    oAuthConfig.setConsumerSecret("anonymous"); //Client secret
    return {oAuthServiceName:name, oAuthUseToken:"always"};
}

Это действительно сводит меня с ума, и, похоже, нигде нет четкого ответа о том, что делать. Я выполнил цикл редактирования/сохранения/запуска десятком разных способов.


person user1469306    schedule 05.05.2013    source источник
comment
Кстати, этот блоггер my_googleOAuth работает, только если я использую свои настоящие setConsumerKey и ConsumerSecret.   -  person user1469306    schedule 05.05.2013
comment
Вы опубликовали свой скрипт с помощью «Развернуть как веб-приложение» и выбрали соответствующий параметр «Выполнить приложение как вариант»?   -  person TomTasche    schedule 05.05.2013


Ответы (1)


К сожалению, это известное ограничение при авторизации действующего пользователя в отношении UrlFetch/OAuth1, и существует открыть запрос функции в системе отслеживания проблем.

Что вы можете сделать, так это вручную запустить поток OAuth 2 здесь и сохранить токены в UserProperties. Вот некоторый пример кода OAuth2, и вам нужно будет создать свой идентификатор/секрет клиента OAuth2 в developers.google.com/console

person Arun Nagarajan    schedule 05.05.2013
comment
Спасибо, Арун... oAuth2 действительно выглядел так, как будто он работает, я получил ссылку "Давайте начнем", экран oAuth, а затем ужасный... Для выполнения этого действия требуется авторизация. - person user1469306; 10.05.2013
comment
О, подожди. Дур! Я внедрил ваш oAuth2, но код Picasa по-прежнему обращается через oAuth1. - person user1469306; 10.05.2013
comment
Учитывая, что я пытался сделать приложение, чтобы научить людей делать простое приложение, oAuth2 — это немного раздутая головная боль, не так ли? - person user1469306; 10.05.2013