2014-04-18 136 views
1

我正在使用3個Google API服務(分析,網站管理員,PageSpeed)。我的服務器中有一個Google API客戶端ID(所有3個服務均已激活)和常用的Google API PHP SDK。獨立使用多個Google API服務

這個應用程序的用戶應該能夠在任何時間點獨立地授予和取消每個服務的訪問權,這取決於他的使用情況。這可能嗎?

測試用例: 如果用戶希望最初只使用分析服務,他應該能夠授予僅分析訪問和以後如果他想也使用PageSpeed服務,他應該能夠授予的PageSpeed還沒有影響分析訪問。
如果他稍後想要使用分析工具&,他應該只能撤銷分頁速度,而不會影響分析或網站管理員的訪問權限。

回答

0

當您請求訪問令牌時,您可以指定要訪問的資源。如果以後需要訪問另一個資源,則請求該資源的另一個標記。

您可以通過設置簡化實施include_granted_scopestrue請求令牌時。這將包括所有以前的授權,所以您只需要處理新的令牌。

AFAIK無法撤銷對特定範圍的訪問權限,即使文檔中提到「當您撤銷代表組合授權的令牌時,所有授權都會被同時撤銷;」。即使撤銷單個令牌,也會發生這種情況。此外,Google帳戶用戶界面不允許用戶指定他想保留的權限,只能撤消應用程序的所有訪問權限。

請參閱docs for incremental authorization

+0

通過它來實現。雖然授予,但它運作良好,但當我撤銷任何特定服務時,所有服務都將被撤銷。 – Tejesh

+0

你是對的,對不起。這很奇怪,因爲文檔中提到「當您撤消代​​表組合授權的令牌時,所有授權都會同時被撤銷」,但即使撤銷單個令牌也會發生這種情況,所以我不明白他們爲什麼要指出這一點。我在編輯答案。 –