Мне удалось получить решение проблемы
UserCredentials.newBuilder()
.setClientId("your client id")
.setClientSecret("your client secret")
.setAccessToken("Access Token")
.build()
Этот объект UserCredentials можно передать в `FixedCredentialsProvider.create ())
Получить токен доступа с помощью
[ 111]
https://github.com/erickogi/AndroidGooglePhotosApi
Надеюсь, это поможет
Если я вспоминаю правильно, свет userdata является на самом деле просто указателем. Они все совместно используют ту же таблицу метаданных. Они главным образом используются для раздавания адресов данных C.
Полный userdata, вероятно, ближе из того, в чем Вы нуждаетесь, если необходимо получить доступ к нему со стороны Lua. Их таблица метаданных позволила бы Вам получать доступ, это как он была регулярная таблица Lua, например.
Вам могло бы также быть интересно библиотекой Roberto для преобразования данных к и от структур C для Lua 5.1. Или нет. Зависит от Ваших потребностей... :-)
Я не сделал этого сам (это были годы, с тех пор как я использовал Lua, и я никогда не использовал встроенным способом), но я думаю, что необходимо изучить таблицы метаданных и тип userdata. В руководстве говорится это о значениях userdata:
Этот тип соответствует блоку необработанной памяти и не начинает предопределенных операций в Lua, кроме теста присвоения и идентификационных данных. Однако при помощи таблиц метаданных, программист может определить операции для значений userdata (см. §2.8). Стоимость Userdata не может быть создана или изменена в Lua, только через API C
Звуки о праве.
Представление всего представления Lua не может быть тем, что Вы хотите. Возможно, Вы только выставляете несколько операций? Затем используйте указатель на структуру как свет userdata. Это не может иметь таблицы метаданных, таким образом, необходимо использовать явные функции.
Если Вы хотите выставить все, Ваш лучший выбор состоит в том, чтобы, вероятно, продвинуть полный userdata, содержащий только указатель на структуру. Это означает дополнительный уровень абстракции---потерянный в шуме с точки зрения производительности, но легкий понять превратно, поэтому поддержите единственную точку истины, где Вы пересекаете C++/Lua граница.
С полным userdata можно использовать макросы (ужас!) помещать метод считывания и метод set функционирует для каждого поля. Это - большая работа, чтобы сделать вручную, и можно предпочесть проверять tolua ++ даже при том, что это идет с большим количеством багажа.
Перейдите к списку рассылки Lua!
Если бы я был там, где вы, я бы передал ссылку на структуру, а затем позволил бы Lua вызвать Функции C для его изменения. Это также означает, что вы можете модернизировать систему с меньшими трудностями, чем если бы Lua знал все детали базовой системы.