質問編集履歴

1

質問内容及び問題解決方法の変更

2017/12/22 04:43

投稿

yyflex
yyflex

スコア8

test CHANGED
@@ -1 +1 @@
1
- Google Fusion TablesのScriptからログインついて
1
+ Google Fusion tablesの『リンク共有』を『オフ-特定のユーザ』した場合のデータ取得方法
test CHANGED
@@ -1,14 +1,10 @@
1
1
  ###前提・実現したいこと
2
2
 
3
- 閲覧ありがとうございます。
4
-
5
-
6
-
7
- GoogleのFusion tablesを使って、HTMLのJava Scriptからテーブルデータの
3
+ GoogleのFusion tablesのお客様の住所データを使って、HTML&ScriptにてGoogle Mapにピンを設置しています。
8
-
9
- 取得を行い、取得したテーブルデータの住所を元にMapにピンを表示する処理を
4
+
10
-
5
+
6
+
11
- 作成しておりますが、以下の問題が発生してしまいました
7
+ ここで顧客データのセキュリティを高めたいと思っております。
12
8
 
13
9
 
14
10
 
@@ -16,45 +12,51 @@
16
12
 
17
13
 
18
14
 
19
- Fusion tablesの設定で『リンクの共有』で『オン-リンクを知っている全員』では
15
+ 現在、Fusion tablesの設定で『リンクの共有』で『オン-リンクを知っている全員』にしております。
20
-
21
- 問題無く、テーブルデータの取得が出来ます。
16
+
22
-
23
- しかし、『リンクの共有』を『オフ-特定のユーザ』ではテーブルデータの取得が出来ません。
24
-
25
- (というよりHTML&Java ScriptからFusion Tableへのログイン方法自体わかりせん。。)
17
+ そこで、Scriptの"暗号化されたTableID"(下記参照)解ってしうと、第3者にもアクセスが可能になってしまいます
18
+
26
-
19
+ 顧客データなので、もう少しセキュリティを高くしたいと思っております。
20
+
21
+
22
+
23
+
24
+
27
-
25
+ 『 query: {
26
+
28
-
27
+ select: "col2",
28
+
29
-
29
+ from: "暗号化されたTableID",
30
+
31
+ where: ""
32
+
33
+
30
34
 
31
35
 
32
36
 
33
37
  ###該当のソースコード
34
38
 
35
- ※ 申し訳ありませんが、コードの一部を伏せさせて頂きました。
36
-
37
39
  <!DOCTYPE html>
38
40
 
39
41
  <html>
40
42
 
41
43
  <head>
42
44
 
43
- <meta name="viewport" http-equiv="Content-Type" content="text/html; charset=shift_jis">
45
+ <meta name="viewport"/>
44
-
46
+
45
- <title>Point Map</title>
47
+ <title>Map - Google Fusion Tables</title>
46
48
 
47
49
  <style type="text/css">
48
50
 
49
51
  html, body, #googft-mapCanvas {
50
52
 
51
- height: 600px;
53
+ height: 300px;
52
54
 
53
55
  margin: 0;
54
56
 
55
57
  padding: 0;
56
58
 
57
- width: 1000px;
59
+ width: 500px;
58
60
 
59
61
  }
60
62
 
@@ -68,108 +70,102 @@
68
70
 
69
71
  <script type="text/javascript">
70
72
 
71
- var map;
72
-
73
-
74
-
75
73
  function initialize() {
76
74
 
75
+ var isMobile = (navigator.userAgent.toLowerCase().indexOf('android') > -1) ||
76
+
77
+ (navigator.userAgent.match(/(iPod|iPhone|iPad|BlackBerry|Windows Phone|iemobile)/));
78
+
79
+ if (isMobile) {
80
+
81
+ var viewport = document.querySelector("meta[name=viewport]");
82
+
83
+ viewport.setAttribute('content', 'initial-scale=1.0, user-scalable=no');
84
+
85
+ }
86
+
87
+ var mapDiv = document.getElementById('googft-mapCanvas');
88
+
89
+ mapDiv.style.width = isMobile ? '100%' : '500px';
90
+
91
+ mapDiv.style.height = isMobile ? '100%' : '300px';
92
+
93
+ var map = new google.maps.Map(mapDiv, {
94
+
95
+ center: new google.maps.LatLng(36.62479048260215, 138.18121014999997),
96
+
97
+ zoom: 6,
98
+
99
+ mapTypeId: google.maps.MapTypeId.ROADMAP
100
+
101
+ });
102
+
103
+
104
+
105
+ layer = new google.maps.FusionTablesLayer({
106
+
107
+ map: map,
108
+
109
+ heatmap: { enabled: false },
110
+
111
+ query: {
112
+
113
+ select: "col4",
114
+
115
+ from: "暗号化されたTableID",
116
+
117
+ where: ""
118
+
119
+ },
120
+
121
+ options: {
122
+
123
+ styleId: 3,
124
+
77
- MapWrite(0);
125
+ templateId: 4
126
+
127
+ }
128
+
129
+ });
130
+
131
+
132
+
133
+ if (isMobile) {
134
+
135
+ var legend = document.getElementById('googft-legend');
136
+
137
+ var legendOpenButton = document.getElementById('googft-legend-open');
138
+
139
+ var legendCloseButton = document.getElementById('googft-legend-close');
140
+
141
+ legend.style.display = 'none';
142
+
143
+ legendOpenButton.style.display = 'block';
144
+
145
+ legendCloseButton.style.display = 'block';
146
+
147
+ legendOpenButton.onclick = function() {
148
+
149
+ legend.style.display = 'block';
150
+
151
+ legendOpenButton.style.display = 'none';
152
+
153
+ }
154
+
155
+ legendCloseButton.onclick = function() {
156
+
157
+ legend.style.display = 'none';
158
+
159
+ legendOpenButton.style.display = 'block';
160
+
161
+ }
162
+
163
+ }
78
164
 
79
165
  }
80
166
 
81
167
 
82
168
 
83
-
84
-
85
- function MapWrite(EventFlg) {
86
-
87
- var cent;
88
-
89
- var zoom
90
-
91
- var mapDiv = document.getElementById('googft-mapCanvas');
92
-
93
-
94
-
95
- if (EventFlg == 0) {
96
-
97
- zoom = 9;
98
-
99
- cent= new google.maps.LatLng(36.27678695032304, 139.56897439197382);
100
-
101
- } else {
102
-
103
- zoom = map.getZoom();
104
-
105
- cent= map.getCenter();
106
-
107
- }
108
-
109
-
110
-
111
- map = new google.maps.Map(mapDiv, {
112
-
113
- center: cent,
114
-
115
- zoom: zoom,
116
-
117
- mapTypeId: google.maps.MapTypeId.ROADMAP
118
-
119
- });
120
-
121
-
122
-
123
-
124
-
125
- map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(document.getElementById('googft-legend-open'));
126
-
127
- map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(document.getElementById('googft-legend'));
128
-
129
-
130
-
131
-
132
-
133
- var ename = document.getElementById('group');
134
-
135
- var selidx = ename.selectedIndex;
136
-
137
-
138
-
139
- var layer = new google.maps.FusionTablesLayer({
140
-
141
- map: map,
142
-
143
- query: {
144
-
145
- select: "*",
146
-
147
- from: "???????????????????????????????????????????", //テーブル名
148
-
149
- where: "pointgroup like '" + group.options[selidx].value +"'"
150
-
151
- },
152
-
153
- styles: [{
154
-
155
- markerOptions: {
156
-
157
- iconName: "ylw_circle"
158
-
159
- }
160
-
161
-
162
-
163
- }]
164
-
165
- });
166
-
167
-
168
-
169
- }
170
-
171
-
172
-
173
169
  google.maps.event.addDomListener(window, 'load', initialize);
174
170
 
175
171
  </script>
@@ -180,37 +176,21 @@
180
176
 
181
177
  <body>
182
178
 
183
- <div id="Joken">
184
-
185
- <select id="group" name="pgr" size="1" onChange="MapWrite(1);">>
186
-
187
- <option value="%">ALL</option>
188
-
189
- <option value="gr1">グループ1</option>
190
-
191
- <option value="gr2">グループ2</option>
192
-
193
- <option value="gr3">グループ3</option>
194
-
195
- <option value="gr4">グループ4</option>
196
-
197
- <option value="gr5">グループ5</option>
198
-
199
- </select>
200
-
201
-
202
-
203
- </div>
204
-
205
179
  <div id="googft-mapCanvas"></div>
206
180
 
207
181
  </body>
208
182
 
183
+ </html>
184
+
209
185
 
210
186
 
211
187
  ###試したこと
212
188
 
213
- Fusion tablesの設定で『リンクの共有』で『オ-リンク知っている全員』ではうまく行きました
189
+ Fusion tablesの設定で『リンクの共有』で『オ-特定のユーザ』したのですが、
190
+
191
+ データの取得方法がわからず、断念しました。
192
+
193
+ (上記HTML&Scriptをそのまま起動しましたが、ピンは表示されませんでした。)
214
194
 
215
195
 
216
196