我試圖在Android上使用YouTubeData API與OAuth 2.0身份驗證,我很苦惱它。YouTube上的數據API與Android上的OAuth2.0
我在網上搜索了很多,但對於Android的實現沒有太大的幫助。
首先,我不清楚什麼是獲得OAuth令牌的最佳方式。在文檔中,他們建議Android對於使用Google Play服務庫獲得更好。真的嗎?如果是的話,按照本指南,這應該是非常微不足道的:https://developers.google.com/android/guides/http-auth。 但是在這一點上,我將在String
對象中擁有令牌。我應該如何將它與YouTubeData API一起使用?我應該把它放在YouTube.Builder
的某處嗎?
YouTube youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() {
public void initialize(HttpRequest request) throws IOException {
}
}).setApplicationName("AppName").build();
如果是的話,有誰知道在哪裏?
在StackOverflow上搜索我遇到過這個問題:What to do after getting Auth Token - Android Youtube API。這裏Ibrahim Ulukaya說使用GoogleAccountCredential
更好。對於我所瞭解的(Access to Google API - GoogleAccountCredential.usingOAuth2 vs GoogleAuthUtil.getToken()),Android版本GoogleAccountCredential
應該使用Google Play服務庫中提供的GoogleAuthUtil
,所以它可能對簡化流程非常有用。我已經看過來自Ibrahim Ulukaya建議的示例項目(https://github.com/youtube/yt-direct-lite-android),並且我已經實施了一切,就像他一樣。但它似乎沒有工作得很好,因爲我只是在logcat中獲得這條消息:「出現IO錯誤:com.google.android.gms.auth.UserRecoverableAuthException:NeedPermission:null」。
(請注意,我已經在Google控制檯中啓用了所有必需的API,併爲我的應用程序創建了客戶端ID)
此時我有點迷路。
我應該直接使用Google Play服務庫中的GoogleAuthUtil
嗎?在這種情況下,一旦獲得令牌爲String
我如何將它與YouTubeData API一起使用?
還是應該使用GoogleAccountCredential
?在這種情況下,有人知道我該如何解決「NeedPersmission:null」錯誤?
----編輯:是這個我用這種原料藥我從簡單的東西開始第一次體驗:獲取視頻信息,然後什麼我的應用程序正在試圖做
細節播放這些視頻,無需任何用戶身份驗證。我設法做到這一點很容易,但爲了我的應用程序的目的,我需要訪問用戶數據,特別是用戶必須能夠喜歡和評論視頻。 所以我開始實施OAuth2,試圖做我以前做的相同的確切查詢(檢索視頻信息)。
嗨,這正是易卜拉欣Ulukaya(https://github.com/youtube/yt-direct-lite-android)的例子。它確實是最好的解決方案。問題是我收到這個錯誤:logcat中出現「IO錯誤:com.google.android.gms.auth.UserRecoverableAuthException:NeedPermission:null」,顯然這個API不起作用。 關於如何解決它的任何想法? –
http://stackoverflow.com/questions/14383965/userrecoverableauthexception-needpermission我相信你知道這一點,但你的應用程序需要各種權限才能訪問設備功能(例如Internet!)並以用戶的名義訪問YouTube。確切地說,您需要的權限取決於您選擇的身份驗證機制。請參閱關於GET_ACCOUNTS和USE_CREDENTIALS的鏈接Android討論。你的清單是什麼樣的? (這可能值得作爲一個單獨的問題提出) –
請參閱manifest eghttps://github.com/youtube/yt-direct-lite-android/blob/master/app/src/main/AndroidManifest.xml您還需要包括您的開發者API憑證,例如 - http://stackoverflow.com/questions/29656454/declare-google-api-key-in-manifest-for-youtube-api。確切知道你的應用程序試圖做什麼可能會有所幫助。 –