2012-07-27 41 views
1

嘗試訪問SoundCloud API(https://api.soundcloud.com/tracks.json)中的公共端點,將帳戶的nil發送到SoundCloudAPI庫。SoundCloud可可包裝無法訪問資源

API響應:

error: Error Domain=NXOAuth2HTTPErrorDomain Code=401 "HTTP Error: 401" UserInfo=0x7556ff0 {NSLocalizedDescription=HTTP Error: 401} 

我引用他們的GitHub庫的一般使用指南(https://github.com/soundcloud/CocoaSoundCloudAPI/blob/master/GeneralUsage.md):

您可以通過匿名 請求或通過[SCSoundCloud帳戶]獲得的帳戶,在沒有帳戶(無)的情況下調用此方法。

正如我在http://developers.soundcloud.com中看到的那樣,我允許在沒有OAuth的情況下使用資源。

有什麼想法?

+0

您必須註冊您的應用程序並使用您的客戶端ID和密鑰配置API包裝。完成此操作後,您可以在不讓用戶登錄的情況下發送請求(通過nil作爲帳戶)。 – 2012-07-30 07:36:30

回答

4

您必須附加?consumer_key=APP_KEY請求的URL,從而例如:https://api.soundcloud.com/tracks.json?consumer_key=APP_KEY

我發現自己有點被遺棄的谷歌組頁面在這裏證實這一點:https://groups.google.com/forum/?fromgroups#!topic/soundcloudapi/ptBbe_TWSj8

這似乎是一個奇怪的遺漏一般在github上使用的頁面,也被省略,除非另有錯誤從他們的開發者網站。

編輯

我也遇到另一塊的這方面的信息,開發人員網站沒有提及client_id GET參數,這不同於CONSUMER_KEY然而,這將是巨大的,如果我們能是否得到確認對未經授權的公用API調用使用consumer_keyclient_id

似乎有點奇怪的是,SoundCloud API庫在接收到一個無帳戶參數時不會附加這個(哪一個合適的)URL。如果用戶帳戶對象丟失,自動切換到正確的API調用似乎是合乎邏輯的。

+1

我的猜測是consumer_key用於OAuth1令牌,client_id用於OAuth2令牌。 – 2012-09-01 05:38:40