我需要在postBody of mirror API insert方法中插入用户的电子邮件。我正在使用此代码:
$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;
}
这似乎不起作用。我没有在Glass设备中获得此类帐户。任何帮助都会很棒。
编辑: 将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。到目前为止还无法解决问题。
[解决] Mirror API仍然返回NULL响应,但实际上是在Mirror API中插入了帐户。可以在此处查看更新的代码:http://goo.gl/DVggO6
答案 0 :(得分:1)
setAuthTokens
获取一组Google_Service_Mirror_AuthToken
个对象(see the source here),每个对象都有authToken
(您选择的任意字符串)和type
(另一个任意字符串)。这些值会直接复制到Android AccountManager
中的帐户中,以便您可以在设备上查看这些值。
您的问题可能来自于您现在正在传递null
这一事实。我会尝试修复它,然后看看您是否能够在设备上看到该帐户。