我有一個網站,它可以完成從Google BigQuery中獲取USN的簡單工作。現在,每次訪問時,我需要有一個Google帳戶,並且該特定的電子郵件ID應該具有在「小組選項卡」中分配的「權限」。我基本上希望網站能夠提供給所有人。而且我使用PHP,所以我需要關於在這裏很有用的函數的幫助。通過PHP授權應用程序無需用戶交互訪問BigQuery
0
A
回答
0
構建被授權訪問BigQuery API的應用程序(與需要用戶授權步驟相反)的最佳方式是使用OAuth2服務帳戶。實質上,服務帳戶授權爲「服務器到服務器」交互提供基於證書的授權(例如您的服務器端PHP腳本與BigQuery API交互)。
有關於使用Google PHP客戶端庫和服務帳戶授權here的文檔。
0
您必須通過谷歌控制檯創建一個「服務帳戶」,並在您的服務器上下載私鑰文件(.p12)。並使用下面的代碼
/**
* setup service client using key file
* @param String $keyFileLoc location of .p12 file provided in google console
* @param String $clientEmail client location provided in google console
*/
function setupServiceClient($keyFileLoc,$clientEmail){
$client = new Google_Client();
$service = new Google_Service_Bigquery($client);
$client->setApplicationName("My Application Name");
$key = file_get_contents($keyFileLoc);
$cred = new Google_Auth_AssertionCredentials(
$clientEmail,
array('https://www.googleapis.com/auth/bigquery'),
$key
);
$this->client->setAssertionCredentials($cred);
return $service;
}
相關問題
- 1. 用戶無權訪問應用程序
- 2. Android應用程序通過Google+授權
- 3. 如何授予用戶應用程序的根訪問權限?
- 4. java WEB應用程序 - 通過域用戶授權
- 5. 通過Twitter應用登錄說應用程序未授權訪問用戶帳戶
- 6. 授予用戶訪問權
- 7. 卸載android應用程序無需用戶交互
- 8. 試圖授權通過API鍵訪問谷歌的BigQuery
- 9. CloudSQL第二代 - 無法授權應用程序訪問
- 10. 如何開發用戶可以與之交互但不被授權的應用程序的OAuth授權頁面?
- 11. 無法通過LinkedIn的API授權的iPhone應用程序
- 12. 獲取Facebook訪問令牌,無需用戶授權
- 13. 用PHP SDK應用程序授權
- 14. ,而無需用戶交互
- 15. 用msgbox通過C#運行Word VBA,無需用戶交互
- 16. 通過PHP與C#應用程序進行交互
- 17. Android授權應用程序無效?
- 18. Android應用程序授權問題
- 19. PHP通過用戶明確授權訪問來自其他域的cookie
- 20. Google Drive API授權訪問,無需人工授權
- 21. PHP-SDK:檢查用戶是否授權我的應用程序
- 22. Facebook的PHP API「用戶未授權應用程序」
- 23. 通過Android應用程序訪問互聯網
- 24. 通過android應用程序使用javamail api發送郵件而無需用戶交互
- 25. Facebook的例子 - 新用戶無法授權應用程序
- 26. 無法授權用戶編輯應用程序腳本
- 27. 授權android應用程序
- 28. Web應用程序授權
- 29. iCloud授權應用程序?
- 30. 從應用程序授權
我曾嘗試過這個PHP腳本,我得到了一個致命的錯誤,說'谷歌_Auth異常'消息'無法解析p12文件。這是一個.p12文件嗎?... – Aps18
您可以確認您:1.按照說明中的說明下載您的私鑰文件(* .p12)2.它可用於您的PHP腳本? (換句話說,它是否在正確的路徑?) –
是的,已經下載了私鑰,並將其標記爲key.p12,並且已經放在同一個目錄中,並且已經定義了const key =「key.p12」 。 – Aps18