forked from MrSwitch/hello.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupload.html
107 lines (86 loc) · 2.77 KB
/
upload.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<!DOCTYPE html>
<link rel="stylesheet" href="/adorn/adorn.css"/>
<script src="/adorn/adorn.js" async></script>
<script src="client_ids.js"></script>
<h1>Upload Photo w/ hello.js</h1>
<h2>Please signin to gather a list of Albums you already have created</h2>
<button id="windows" onclick="hello.login('windows');">Login Windows</button>
<button id="facebook" onclick="hello.login('facebook');">Login Facebook</button>
<button id="google" onclick="hello.login('google');">Login Google</button>
<h2>Upload form</h2>
<form>
<label>Please select an album from the dropdown<select id="albums"></select></label>
<input type="file" id="file"/>
<button type="button" onclick="upload()">Upload</button>
</form>
<div id="result"></div>
<p>Include hello.js + modules</p>
<script class="pre" src="../src/hello.js"></script>
<script class="pre" src="../src/modules/windows.js"></script>
<script class="pre" src="../src/modules/facebook.js"></script>
<script class="pre" src="../src/modules/google.js"></script>
<p>Add event listeners for the login completed event and make a request for the users profile. Once that's loaded push it to the page. </p>
<script class="pre">
// Windows Live
hello.on('auth.login', function(auth){
// Get Profile
hello.api(auth.network+':me', function(r){
if(!r||r.error){
return;
}
document.getElementById(auth.network).innerHTML = "Connected to "+auth.network+" as " + r.name;
});
// Get albums
hello.api(auth.network+':me/albums', function(r){
if(!r||r.error){
console.error("Could not open albums from "+auth.network+", try resigning in");
return;
}
var grp = document.createElement('optgroup');
grp.label = auth.network;
document.getElementById('albums').appendChild(grp);
for(var i=0;i<r.data.length;i++){
var o = document.createElement('option');
o.value = auth.network+":"+ ( r.data[i].upload_location || r.data[i].id );
o.innerHTML = r.data[i].name;
grp.appendChild(o);
}
});
});
</script>
<script class="pre">
function upload(){
hello.api(document.getElementById('albums').value, 'post', {
file:document.getElementById('file')
}, function(r){
if(r.error){
alert(r.error.message);
return;
}
else if(r.source){
// Windows we get a reference
var a = document.createElement('a');
a.href = r.source;
a.innerHTML = r.name;
}
else{
// Facebook we dont get a response.
var a = document.createElement('a');
a.innerHTML = "Uploaded "+document.getElementById('file').value;
if(r.picture){
a.href = r.picture;
}
}
a.target = "_blank";
document.getElementById('result').appendChild(a);
});
}
</script>
<p>Plug the app keys (client_id') and voila</p>
<script class="pre">
// Initiate hellojs
hello.init( CLIENT_IDS, {
scope: "publish_files, photos",
redirect_uri : "../redirect.html"
});
</script>