2015-07-19 180 views
0

需要知道,如果我可以調用下面的腳本Chrome擴展的Json

chrome.identity.getAuthToken({ 
    interactive: true 
}, function(token) { 
    if (chrome.runtime.lastError) { 
     alert(chrome.runtime.lastError.message); 
     return; 
    } 
    var x = new XMLHttpRequest(); 
    x.open('GET', 'https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=' + token); 
    x.onload = function() { 
     alert(x.response); 
    }; 
    x.send(); 
}); 

我目前使用的文件撰寫(x.response),它寫出了用戶信息的特定部分,但想只能打電話編號

{ "id": "XXX", 
"email": "XXX", 
"verified_email": true, 
"name": "XXX", } 

我想要做的就是把id變成一個變量。 var user_id = x.response ['id'] ...或者類似的東西。

原代碼,可以發現 chrome.identity User Authentication in a Chrome Extension

+2

什麼是你的問題是什麼呢?當你調用var user_id = x.response ['id']時你會得到一個錯誤嗎? – Brian

+0

您使用XMLHttpRequest而不是提取的任何原因? –

+0

如果你使用登錄到Chrome的用戶的ID,你可以調用['chrome.identity.getProfileUserInfo()'](https://developer.chrome.com/apps/identity#method-getProfileUserInfo) ,不需要XHR或者getAuthToken()。 –

回答

0

嘗試:

var user_id = JSON.parse(x.response).id;