Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 28 additions & 23 deletions examples/sansan/js/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -213,51 +213,59 @@ jQuery.noConflict();
}

// リクエスト用のURL生成
function createSansanURL(type, value, limit, offset) {
var sansan_url = 'https://api.sansan.com/v1.1/bizCards';
function createSansanURL(type, value, limit, nptoken) {
var sansan_url = 'https://api.sansan.com/v2.3/bizCards';
switch (type) {
// 一括登録機能の条件指定検索の場合
case 'Postrecords_Condition':
sansan_url += '/search' + '?range=all';
if (value && $('#sansan_dropdown_code').val()) {
sansan_url += '&' + encodeURIComponent($('#sansan_dropdown_code').val()) +
'=' + encodeURIComponent(value);
if (nptoken == 0) {
if (value && $('#sansan_dropdown_code').val()) {
sansan_url += '&' + encodeURIComponent($('#sansan_dropdown_code').val()) +
'=' + encodeURIComponent(value);
}
} else { // nextPageTokenが渡された場合
sansan_url += '&nextPageToken=' + encodeURIComponent(nptoken);
}
break;

// ルックアップ機能の条件指定検索の場合
case 'Lookup_Condition':
sansan_url += '/search' + '?range=all';
if (value) {
sansan_url += '&' + encodeURIComponent(C_ORIGINALFIELD) + '=' + encodeURIComponent(value);
if (nptoken == 0) {
if (value) {
sansan_url += '&' + encodeURIComponent(C_ORIGINALFIELD) + '=' + encodeURIComponent(value);
}
} else { // nextPageTokenが渡された場合
sansan_url += '&nextPageToken=' + encodeURIComponent(nptoken);
}
break;

// タグ指定の場合
case 'Tag':
sansan_url += '/search' + '?range=all';
sansan_url += '&tagId=' + encodeURIComponent(value);
break;

// 名刺登録日の期間指定の場合
case 'Registered_Date':
sansan_url += '?range=all' + '&registeredFrom' + '=' + encodeURIComponent(value[0]) +
'&registeredTo' + '=' + encodeURIComponent(value[1]);
if (nptoken == 0) {
sansan_url += '&tagId=' + encodeURIComponent(value);
} else { // nextPageTokenが渡された場合
sansan_url += '&nextPageToken=' + encodeURIComponent(nptoken);
}
break;

// 名刺更新日の期間指定の場合
case 'Updated_Date':
sansan_url += '?range=all' + '&registeredFrom' + '=' + encodeURIComponent('1900-01-01T00:00:00+09:00') +
'&registeredTo' + '=' + encodeURIComponent('3000-01-01T00:00:00+09:00');
sansan_url += '&updatedFrom' + '=' + encodeURIComponent(value[0]) +
'&updatedTo' + '=' + encodeURIComponent(value[1]);
sansan_url += '?range=all';
if (nptoken == 0) {
sansan_url += '&updatedFrom' + '=' + encodeURIComponent(value[0]) +
'&updatedTo' + '=' + encodeURIComponent(value[1]);
} else { // nextPageTokenが渡された場合
sansan_url += '&nextPageToken=' + encodeURIComponent(nptoken);
}
break;
default:
sansan_url += '/search' + '?range=all';
break;
}
sansan_url += '&limit=' + encodeURIComponent(limit);
sansan_url += '&offset=' + encodeURIComponent(offset);
return sansan_url;
}
// ダイアログのHTML生成
Expand Down Expand Up @@ -389,10 +397,7 @@ jQuery.noConflict();
'<th>' + '<div><span class="recordlist-header-label-kintone">' +
'<div class="sansan-input-radio">' +
'<span class="sansan-input-radio-item">' +
'<input type="radio" name="sansan-date-radio" value="Registered_Date" id="radio-0" checked="">' +
'<label for="radio-0">名刺登録日付</label></span>' +
'<span class="sansan-input-radio-item">' +
'<input type="radio" name="sansan-date-radio" value="Updated_Date" id="radio-1">' +
'<input type="radio" name="sansan-date-radio" value="Updated_Date" id="radio-1" checked="">' +
'<label for="radio-1">名刺更新日付</label></span></div>' +
'</span></div>' + '</th>' +
'</tr>' + '</thead>' + '<tbody>' +
Expand Down
9 changes: 5 additions & 4 deletions examples/sansan/js/desktop_lookup.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,12 @@ jQuery.noConflict();
return false;
});
},
searchSansanData: function(type, value, opt_offset, opt_records) {
searchSansanData: function(type, value, opt_nptoken, opt_records) {
// Sansanよりデータ取得
var limit = 300;
var offset = opt_offset || 0;
var nptoken = opt_nptoken || 0;
var allrecords = opt_records || [];
var url = window.sansanLib.createSansanURL(type, value, limit, offset);
var url = window.sansanLib.createSansanURL(type, value, limit, nptoken);
return kintone.plugin.app.proxy(PLUGIN_ID, url, 'GET', {}, {}).then(function(body) {
allrecords = allrecords.concat(JSON.parse(body[0]).data);
if (JSON.parse(body[1]) !== 200) {
Expand All @@ -113,7 +113,8 @@ jQuery.noConflict();
return allrecords;
}
if (JSON.parse(body[0]).hasMore === true) {
return Sansanlookup.searchSansanData(type, value, offset + limit, allrecords);
nptoken = JSON.parse(body[0]).nextPageToken;
return Sansanlookup.searchSansanData(type, value, nptoken, allrecords);
}
return allrecords;
}, function(error) {
Expand Down
24 changes: 15 additions & 9 deletions examples/sansan/js/desktop_postRecords.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,12 @@ jQuery.noConflict();
return false;
});
},
searchSansanData: function(type, value, opt_offset, opt_records) {
searchSansanData: function(type, value, opt_nptoken, opt_records) {
// Sansanよりデータ取得
var limit = 300;
var offset = opt_offset || 0;
var nptoken = opt_nptoken || 0;
var allrecords = opt_records || [];
var url = window.sansanLib.createSansanURL(type, value, limit, offset);
var url = window.sansanLib.createSansanURL(type, value, limit, nptoken);
return kintone.plugin.app.proxy(PLUGIN_ID, url, 'GET', {}, {}).then(function(body) {
allrecords = allrecords.concat(JSON.parse(body[0]).data);
if (JSON.parse(body[1]) !== 200) {
Expand All @@ -100,7 +100,8 @@ jQuery.noConflict();
return allrecords;
}
if (JSON.parse(body[0]).hasMore === true) {
return SansanPostRecords.searchSansanData(type, value, offset + limit, allrecords);
nptoken = JSON.parse(body[0]).nextPageToken;
return SansanPostRecords.searchSansanData(type, value, nptoken, allrecords);
}
if (JSON.parse(body[0]).hasMore === false && allrecords[0] === null || allrecords.length === 0) {
return kintone.Promise.reject(new Error('検索条件に一致する名刺データが見つかりませんでした。\n検索条件を変更してください。'));
Expand Down Expand Up @@ -260,13 +261,17 @@ jQuery.noConflict();
SansanPostRecords.postRecordsMessage('post_success', msg);
},
// タグ検索処理
getSansanTag: function(opt_offset, opt_tags) {
getSansanTag: function(opt_nptoken, opt_tags) {
// Sansanよりタグデータ取得
var limit = 300;
var offset = opt_offset || 0;
var nptoken = opt_nptoken || 0;
var alltags = opt_tags || [];
var url = 'https://api.sansan.com/v1.1/tags?range=all' + '&type=shared';// 共有タグのみを取得
url += '&offset=' + offset;
var url = 'https://api.sansan.com/v2.3/tags?range=all';
if (nptoken == 0) {
url += '&type=shared';// 共有タグのみを取得
} else { // nextPageTokenが渡された場合
url += '&nextPageToken=' + nptoken;
}
url += '&limit=' + limit;
return kintone.plugin.app.proxy(PLUGIN_ID, url, 'GET', {}, {}).then(function(body) {
alltags = alltags.concat(JSON.parse(body[0]).data);
Expand All @@ -282,7 +287,8 @@ jQuery.noConflict();
return alltags;
}
if (JSON.parse(body[0]).hasMore === true) {
return SansanPostRecords.getSansanTag(offset + limit, alltags);
nptoken = JSON.parse(body[0]).nextPageToken;
return SansanPostRecords.getSansanTag(nptoken, alltags);
}
return alltags;
}, function(error) {
Expand Down
2 changes: 1 addition & 1 deletion examples/sansan/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"manifest_version": 1,
"version": 3,
"version": 4,
"type": "APP",
"name": {
"ja": "Sansan for kintone",
Expand Down