Мне нужно вставить адрес электронной почты пользователя в postBody для метода вставки зеркального API. Я использую этот код:
$authtoken=null; $postBody = new Google_Service_Mirror_Account(); $postBody->setAuthTokens($authtoken); $userdata=array("email"=>$email); $postBody->setUserData($userdata); $account = $service->accounts->insert($userToken, package-name-here, $accountName, $postBody);
Вышеуказанный метод возвращает null в ответ! Я не уверен, что добавить как authtoken.
После этого мне нужно получить учетную запись электронной почты пользователя через менеджера аккаунта Android:
AccountManager manager = AccountManager.get(c); Account[] list = manager.getAccountsByType(package-name-here); for (Account acct : list) { accountEmailId= manager.getUserData(acct, "email"); break; }
Кажется, это не работает. Я не получаю счета этого типа в стеклянном устройстве. Любая помощь будет отличной.
EDIT: Добавлено authTokenArray и userDataArray для postBody, как предлагается ниже:
$userDataArray= array(); $userData1= new Google_Service_Mirror_UserData(); $userData1->setKey('email'); $userData1->setValue($email); $userDataArray[]=$userData1; $authTokenArray= array(); $authToken1= new Google_Service_Mirror_AuthToken(); $authToken1->setAuthToken('randomtoken'); $authToken1->setType('randomType'); $authTokenArray[]=$authToken1; $postBody = new Google_Service_Mirror_Account(); $postBody->setUserData($userDataArray); $postBody->setAuthTokens($authTokenArray);
Метод вставки учетной записи по-прежнему возвращает null. Не удалось решить проблему до сих пор.
[SOLVED] Mirror API по-прежнему возвращает NULL-ответ, но учетная запись фактически вставляется в Mirror API. Обновленный код можно посмотреть здесь: http://goo.gl/DVggO6
setAuthTokens
берет массив объектов Google_Service_Mirror_AuthToken
( см. источник здесь ), каждый из которых имеет authToken
(произвольная строка по вашему выбору) и type
(другая произвольная строка). Эти значения копируются непосредственно в учетную запись в AccountManager
Android, чтобы вы могли просматривать их на устройстве.
Ваша проблема может возникнуть из-за того, что вы передаете null
для этого прямо сейчас. Я попытался бы это исправить, а затем посмотреть, сможете ли вы видеть учетную запись на устройстве.