我試圖建立一個表單,允許用戶提交一首歌曲進行宣傳。基礎是用戶選擇一到三個平臺; soundcloud,youtube或spotify。當他們選擇他們想要展示的平臺時,他們必須在這些平臺上進行關注/訂閱。Souncloud API提交表格
到目前爲止,我已經設法構建了窗體,只有選中了相應的複選框才顯示「Connect [平臺]」按鈕,但是我很難調用Soundcloud的API。
我正在使用JavaScript SDK,並在通過瀏覽器激活的html文件中包含預構建命令。在HTML看起來像這樣:
<!doctype html>
<html>
<head>
<title>Connect Soundcloud</title>
<script src="https://connect.soundcloud.com/sdk.js"></script>
<button id="scbutton" onclick="scconnectgo()">Connect Soundcloud</button>
<script src="https://connect.soundcloud.com/sdk/sdk-3.0.0.js"></script>
<script>
function scconnectgo(){
document.getElementById("scbutton").value="soundcloud connected";
SC.initialize({
client_id: 'example_client_id',
redirect_uri: 'http://djr.kissr.com/callback.html'
});
// initiate auth popup
SC.connect().then(function() {
return SC.get('/me');
}).then(function(me) {
alert('Hello, ' + me.username);
});
}
</script>
</script>
</head>
<body>
<div id="target"></div>
</body>
</html>
當我這個文件加載到我的瀏覽器,該按鈕顯示爲「連接的SoundCloud」,這是我想要的。當按鈕被點擊時腳本運行,soundcloud連接彈出窗口顯示。到目前爲止,所有的都很好,但是當我在放入細節後點擊連接時,彈出窗口不會消失。我所託管的callback.html文件似乎不起作用,我只是將其複製並粘貼到文本文件中,然後將其上載到我的KISSr保管箱文件夾中。該頁面會加載,它會顯示「此彈出窗口將關閉...」,但它不會。
下面是callback.html代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Connect with SoundCloud</title>
</head>
<body onload="window.setTimeout(window.opener.SC.connectCallback, 1)">
<b style="text-align: center;">This popup should automatically close in a few seconds</b>
</body>
</html>
窗口只是保持打開狀態,我不知道如果腳本已經成功。
有什麼建議嗎?我以前見過這個問題,但遺憾的是他們都沒有回答我的問題。我真的很感謝一些幫助。
編輯:我剛剛在Chrome中使用'檢查'功能,並發現協議不匹配。錯誤是:「Uncaught SecurityError:阻止了一個源地址爲」http://djr.kissr.com「的幀訪問源爲」null「的幀。請求訪問的幀的協議爲」http「,被訪問的幀的協議爲」file「。協議必須匹配。「我不知道這是否有幫助。
在此先感謝。
返回的URL你是從本地Web服務器或關閉您的文件系統上運行您的網頁?哪個頁面出現錯誤? –
此刻是的,但彈出的SC授權確實出現,我輸入了我的詳細信息,我收到「此彈出窗口很快關閉...」頁面,但它不關閉 – maxthackray