2017-11-25 127 views
1

Actions on Google site我找得到的用戶ID,以確定整個對話和設備的用戶的功能。在docs section under getUser我讀以下:獲取在操作的用戶ID在谷歌

的getUser()返回用戶

獲取用戶對象。用戶對象包含有關 用戶信息,包括一個字符串標識符和個人信息(需要 請求權限,請參閱askForPermissions)。

所以首先需要申請許可。爲此,我按照鏈接。但是,我發現只有三個可以請求的權限。

  • NAME
  • DEVICE_COARSE_LOCATION
  • DEVICE_PRECISE_LOCATION

世界上沒有獲授的用戶ID的權限。當我運行我的代碼並嘗試獲取用戶ID時,它返回undefined。獲取用戶名正常工作。

function requestPermissonsIntent(app){ 
    const permission = [app.SupportedPermissions.NAME]; 
    app.askForPermission('Für eine korrekte Ausführung', permission); 
} 

//later in my code when asking for the userID and userName 
if(app.isPermissionGranted()){ 
     const userName = app.getUserName().displayName; 
     //getting the userName works fine 

     const userUID = app.getUser().userID; 
     //userUID is undefinded 
     ... 

如何獲取用戶ID?

回答

1

它應該是一個小寫字母 「d」。

app.getUser().userId; 

您不需要詢問任何獲取此用戶標識的權限。返回的字符串標識符在您的操作中對此用戶是唯一的。如果他們使用相同的帳戶,它應該攜帶各種設備。

+0

可恥的是我。有時它很容易。我曾多次閱讀我的代碼,但沒有發現這個錯誤。所以現在我得到了userId我更新了我的問題。有沒有辦法記住用戶授予該權限? –

+1

這確實是一個單獨的問題。繼續,並把它作爲一個新的SO問題,我們很樂意回答。 – Prisoner

+0

(小寫字母-d很容易被忽略,我自己也做過很多次了。) – Prisoner