UPDATEReagieren/Redux + Soundcloud API
das Arbeits Beispiel Siehe hier: Favesound-Redux
Live-: http://www.favesound.de/
Tutorial: http://www.robinwieruch.de/the-soundcloud-client-in-react-redux
Frage
Kürzlich entdeckte und inspirierte ich mich von Sound Redux, die zeigt, wie die Soundcloud API in einer React + Redux App zu verwenden. Die Soundcloud API benötigt setup a callback.html Seite. Die Sound Redux App löst dies, indem sie die callback.html von einem Go Lang Server aus bedient. Ich möchte keine serverseitige Technologie dafür verwenden. Deshalb habe ich mich gefragt, ob es möglich ist, die Callback.html als eine Reaktionskomponente zu bedienen. Mein Setup öffnet bereits das Authentifizierungsmodal für Soundcloud, aber nach Eingabe meiner Zugangsdaten passiert nichts und das Modal wird leer.
In meiner Root-Komponente habe ich die Route für die Callback-Komponente und meine App-Komponente eingerichtet.
const routes = <Route component={App}>
<Route path="/callback" component={Callback} />
<Route path="/app" component={SoundContainer} />
</Route>;
ReactDOM.render(
<Provider store={store}>
<Router>{routes}</Router>
</Provider>,
document.getElementById('app')
);
Wenn ich die Authentifizierungsanforderung Aktion aus meinem SoundContainer Feuer, sieht die Aktion Schöpfer wie folgt aus:
export function auth() {
return dispatch => {
SC.initialize({
client_id: MY_CLIENT_ID,
redirect_uri:`${window.location.protocol}//${window.location.host}/#/callback`
});
SC.connect(function (response) {
console.log('connect'); // This does not appear in the console
SC.get('/me', function(data) {
console.log(data);
dispatch(doAuth(data));
})
});
}
}
Wie ich schon sagte, nachdem mein Beglaubigungsschreiben im Modal Eingabe der Modal wird leer und nichts passiert.
Wenn ich Ausgang ${window.location.protocol}//${window.location.host}/#/callback
es ist die gleiche wie meine Redirect Uri in meinem Soundcloud-Konto:
export default React.createClass({
render: function() {
return <html>
<head>
<title>Callback</title>
</head>
<body onload="window.setTimeout(opener.SC.connectCallback, 1);">
<p>
This page should close soon
</p>
</body>
</html>
}
});
Leider funktioniert es immer noch nicht. Ich kann mich im Modal anmelden, aber dann wird es leer und keine Anfrage wird gesendet :( –
Könnten Sie das irgendwo aufstellen?An dieser Stelle ist es schwer zu erraten, ohne etwas zu debuggen ... – hazardous