Google AdWords API, как авторизоваться с помощью олицетворения учетной записи службы

да, вы можете ... вам просто нужно знать точное имя пакета приложения:

  • Facebook - «com.facebook.katana»
  • Twitter - «com.twitter.android»
  • Instagram - «com.instagram.android»
  • Pinterest - «com.pinterest»

И вы может создать такое намерение

Intent intent = context.getPackageManager().getLaunchIntentForPackage(application);
if (intent != null) {
     // The application exists
     Intent shareIntent = new Intent();
     shareIntent.setAction(Intent.ACTION_SEND);
     shareIntent.setPackage(application);

     shareIntent.putExtra(android.content.Intent.EXTRA_TITLE, title);
     shareIntent.putExtra(Intent.EXTRA_TEXT, description);
     // Start the specific social application
     context.startActivity(shareIntent);
} else {
    // The application does not exist
    // Open GooglePlay or use the default system picker
}
1
задан Matthew Salvatore Viglione 4 April 2019 в 21:20
поделиться

1 ответ

Из документов Google здесь :

Все вызовы API AdWords должны быть авторизованы через OAuth2. OAuth2 позволяет клиентскому приложению AdWords API получать доступ к учетной записи Google Ads пользователя, не обрабатывая и не сохраняя информацию для входа в систему.

Похоже, вы должны использовать OAuth2 Аутентификацию.

Дальнейшее чтение здесь подтверждает это:

Ваше приложение должно будет получать доступ к данным пользователя и связываться с другими службами Google от вашего имени. Аутентификация через OAuth2 позволяет вашему приложению работать от имени вашей учетной записи.

Чтобы ваше приложение могло получить доступ к API, вам нужен идентификатор клиента OAuth2 и секрет клиента.

Вы говорите, что сделали это где-то еще, где вы смогли использовать файл JSON, поэтому я немного посмотрел на источник.

Источником Ruby API является здесь и здесь . Похоже, что на самом деле нет другого способа управления учетными данными, по крайней мере, в Ruby API. Глядя здесь:

    # Retrieve correct soap_header_handler.
    #
    # Args:
    # - auth_handler: instance of an AdsCommon::Auth::BaseHandler subclass to
    #   handle authentication
    # - version: intended API version
    # - header_ns: header namespace
    # - default_ns: default namespace
    #
    # Returns:
    # - SOAP header handler
    #
    def soap_header_handler(auth_handler, version, header_ns, default_ns)
      auth_method = @config.read('authentication.method', :OAUTH2)
      handler_class = case auth_method
        when :OAUTH2, :OAUTH2_SERVICE_ACCOUNT
          AdsCommon::SavonHeaders::OAuthHeaderHandler
        else
          raise AdsCommon::Errors::AuthError,
              "Unknown auth method: %s" % auth_method
        end
      return handler_class.new(@credential_handler, auth_handler, header_ns,
                                  default_ns, version)
    end

Обратите внимание, что, если OAuth не используется, он выдает ошибку. Там действительно нет другого способа аутентификации. Даже если вам удалось пройти проверку подлинности другим способом и попытаться передать его менеджеру учетных данных, он отклонит его.

Краткий ответ: Это невозможно в Ruby API, если его не взломать.

0
ответ дан Matthew Salvatore Viglione 4 April 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: