2012-04-26 6 views
6

Я пытаюсь использовать учетные записи Google Apps для доступа к таблице Fusion из приложения App Appgine Java. Этот фрагмент кода используется для получения OAuth маркер доступа:Таблицы Fusion Table и Google Apps

ArrayList<String> scopes = new ArrayList<String>(); 
scopes.add("https://www.googleapis.com/auth/fusiontables"); 
DataAccessService fusionTablesService = EnvironmentServic.getEnvironmentService().getService(DataAccessService.class); 
String token = AppIdentityServiceFactory.getAppIdentityService().getAccessToken(scopes).getAccessToken(); 

я смог успешно получить маркер доступа, но когда я пытаюсь выполнить CREATE TABLE запрос я получил:

<HTML> 
    <HEAD> 
    <TITLE>Login required</TITLE> 
    </HEAD> 
    <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
    <H1>Login required</H1> 
    <H2>Error 401</H2> 
    </BODY> 
    </HTML> 

ли учетная запись службы работает с таблицами Fusion?

+0

У меня такой же сценарий, и, таким образом, проблема ... хотелось бы узнать, нашли ли вы решение. Если я сделаю это раньше, я дам вам знать мое решение :) – AlejandroVK

+0

Пока нет. Наконец, мы решили использовать BigQuery и пользовательский интерфейс. –

+0

Полезно знать, мне удалось использовать таблицы Fusion, хотя у него много ограничений относительно количества запросов, ячеек и т. Д., Которые затрудняют использование приложений Big Data. Тем не менее, это отлично подходит для создания mashups – AlejandroVK

ответ

1

Я не очень знаком с Fusion Tables, но вполне вероятно, что вам нужно либо:

1) разрешение Предоставление учетной записи службы (далее «адрес электронной почты» находится в консоли администратора) для доступ к таблице. Это, вероятно, произойдет через образец в https://developers.google.com/appengine/articles/prediction_service_accounts может быть полезным в качестве отправной точки для этого процесса.

2) Укажите пользователя, у которого есть доступ к таблице (или чьи данные вы пытаетесь получить), и разрешите им разрешать доступ для приложения с помощью трехточечного потока OAuth. Если вы получаете доступ к данным, принадлежащим конечному пользователю (например: [email protected]), вам, вероятно, придется это сделать.

Надеюсь, это поможет.

+1

Второй вариант не является вариантом, потому что нам нужно, чтобы приложение само по себе имело данные. Во-первых, это тоже не сработает, потому что приложение не может создать новую таблицу с учетной записью службы, поэтому у нас нет таблицы для предоставления доступа. –

Смежные вопросы