Я пытаюсь настроить проверку MyGlass для своего приложения GDK, как в Google Glass GDK Authentication using PHP. Пользователь регистрируется на моем сайте через MyGlass, проходит проверку подлинности, а затем я пытаюсь вставить учетную запись, используя Mirror API.Проверка подлинности MyGlass «Недопустимое значение» с Java-примером и библиотеками PHP
Я следую за «рабочим» примером PHP, описанным в http://goo.gl/DVggO6. Тем не менее, я всегда получаю сообщение об ошибке с сервера Google API с сообщением «Недопустимое значение» без дополнительной информации.
Я уже дважды проверял свои ключи и файлы ключей и проверял, что работает быстрый запуск API зеркального отображения. Поэтому все кажется, что он должен быть правильно настроен.
В дополнение к предоставлению решения, может ли кто-нибудь предложить методы устранения неполадки? Лучше всего запустить его на локальном веб-сервере и использовать Wireshark для проверки тела POST?
Google_Service_Exception with message Error calling POST https://www.googleapis.com/mirror/v1/accounts/bfb41d5c745d***/com.lumilogger.glassware/username%40email.com?key=********: (400) Invalid Value in /home7/tallyhea/public_html/Google/Http/REST.php:81
Stack trace:
#0 /home7/tallyhea/public_html/Google/Http/REST.php(44): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request))
#1 /home7/tallyhea/public_html/Google/Client.php(503): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
#2 /home7/tallyhea/public_html/Google/Service/Resource.php(195): Google_Client->execute(Object(Google_Http_Request))
#3 /home7/tallyhea/public_html/Google/Service/Mirror.php(409): Google_Service_Resource->call(insert, Array, Google_Service_...)
#4 /home7/tallyhea/public_html/functions.php(55): Google_Service_Mirror_Accounts_Resource->insert(bfb41d5c745***, com.lumilogger...., [email protected], Object(Google_Service_Mirror_Account))
#5 /home7/tallyhea/public_html/glass_oauth.php(71): insert_account(Object(Google_Service_Mirror), bfb41d5c74***, [email protected])
#6 {main}"
И ответ JSON от сервера довольно загадочная:
body: { "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "Invalid Value" } ], "code": 400, "message": "Invalid Value" } }
Я также попытался точный пример Java, показанный на MyGlass Гласс аутентифицировать страницу и получил ту же ошибку:
Invoking createAccount()
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Invalid Value",
"reason" : "invalid"
} ],
"message" : "Invalid Value"
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:312)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1049)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
at glassAuth.GlassAuth.createAccount(GlassAuth.java:96)
at glassAuth.GlassAuth.main(GlassAuth.java:52)
Возможно, это связано с неправильной настройкой API-интерфейсов Google на code.google .com или что-то в этом роде?
Возможно, я не могу вставить аккаунт, потому что Google не знает «Имя учетной записи», которое я использую для вставки учетных записей?
400 ответ синтаксическая ошибка. Если я использую URL в вашем примере, я получаю ответ 404. Я должен умышленно манипулировать URL-адресом, чтобы получить 400, поэтому, скорее всего, это проблема с форматом URL-адреса. Какой ответ вы вернетесь, если перейдете к: https://www.googleapis.com/mirror/v1/accounts/ {userToken}/com.example.myapp/username% 40email.com' (с обновленными значениями) напрямую в браузере? – Anthony
Если я сделаю то, что вы попросили, я верну ответ «Не найдено». Означает ли это, что мое приложение не настроено должным образом для каждого запроса на проверку продуктов Glassware? Что я должен видеть? –
Также может быть проблемой синтаксиса в самом теле сообщения. Было бы хорошо видеть отправку необработанного запроса. – Anthony