Nhảy chuyển tới:Hướng dẫn,Tìm tòi

JS SDK 2020

JS SDK 2020 là Weibo mở ra ngôi cao mới nhất bản, nhằm vào di động đoan trang web SDK, nó so phía trước phiên bản có trọng đại thay đổi:

  • 1, ngắm nhìn di động đoan H5 cảnh tượng, đi trừ bỏ nguyên lai PC thời đại cũ lắp ráp;
  • 2, chia sẻ, chú ý công năng, thích xứng nhiều cảnh tượng, vô luận là ở Weibo, WeChat, di động trình duyệt, vẫn là PC thượng, đều có thể phương tiện sử dụng;
  • 3, chọn dùng mở ra nhãn, hình thức hoàn toàn từ khai phá giả chính mình khống chế;
  • 4, càng thêm an toàn, bởi vậy đi trừ bỏ nguyên lai JS đằng trước trực tiếp trao quyền, trực tiếp điều tiếp lời công năng, phòng ngừa số liệu tiết ra ngoài, bởi vậy giao diện trao quyền công năng yêu cầu khai phá giả dựa theo tiêu chuẩn trao quyền lưu trình tiếp nhập, thuyên chuyển mở ra tiếp lời tắc yêu cầu đặt ở phục vụ đoan hoàn thành;


Phía dưới chúng ta tới cùng nhau thể nghiệm một chút này đó đặc tính.



Chú ý: Bởi vì an toàn vấn đề, trước mắt như sau phương pháp wb.setSharingContent, wb.openMenu, wb.shareToWxTimeline, wb.shareToWxMessage, đối phi Weibo vực danh ( tức kẻ thứ ba khai phá giả vực danh nghĩa trang web ) tạm không cung cấp


Khai phá chỉ nam

Nếu ngươi không có AppKey thỉnh trước tiên ở mở ra ngôi cao trang web, đăng ký chính mình ứng dụng,Xin nhập khẩu.


1, trói định an toàn vực danh

Ở sử dụng JS SDK 2020 khi, yêu cầu vì nên dùng trói định an toàn vực danh, trong đó Weibo bản cài đặt JS tiếp lời đem lấy này vực danh tới tiến hành kiểm tra, nếu ngươi không tính toán sử dụng Weibo bản cài đặt JS tiếp lời có thể nhảy qua này bước đi.


Trói định an toàn vực danh thao tác có thể ở ta ứng dụng cao cấp tin tức giao diện hoàn thành.


2, trích dẫn JS SDK 2020 văn kiện

Ở ngươi giao diện bố trí wbsdk.js văn kiện, đồng thời, nếu ngươi giao diện mã hóa không phải UTF-8, thỉnh tăng thêm charset= "utf-8" thuộc tính.

HTML
<script src= "https://open.weibo /views/js/wbsdk.js" type= "text/javascript" charset= "utf-8" ></script>

Duy trì sử dụng AMD/CMD tiêu chuẩn mô khối thêm tái phương pháp thêm tái.


3, khởi động lại JS SDK 2020

Thông qua wb.init tiếp lời rót vào quyền hạn nghiệm chứng phối trí, sở hữu yêu cầu sử dụng Weibo bản cài đặt nội JS SDK giao diện trước hết cần rót vào phối trí tin tức, nếu không đem vô pháp thuyên chuyển. Nếu ngươi không tính toán sử dụng Weibo bản cài đặt JS tiếp lời có thể chọn dùng giản dị khởi động lại phương pháp.

Hoàn toàn khởi động lại, sử dụng Weibo bản cài đặt JS tiếp lời cùng mở ra nhãn khi, yêu cầu hoàn toàn khởi động lại:

Javascript
wb.init({
debug: false,
appkey: '',
timestamp:,
noncestr: '',
signature: '',
scope: [
'getNetworkType',
'setBrowserTitle',
'setSharingContent',
'openMenu',
'scanQRCode',
'pickContact'
]
});

Trong đó, phối trí tham số, debug: Mở ra điều chỉnh thử hình thức, appkey: Ứng dụng duy nhất đánh dấu, timestamp: Sinh thành ký tên thời gian chọc, noncestr: Sinh thành ký tên tùy cơ xuyến, signature: Ký tên, scope: Yêu cầu sử dụng JS tiếp lời danh sách.

Giản dị khởi động lại, không sử dụng Weibo bản cài đặt JS tiếp lời, chỉ sử dụng mở ra nhãn khi, có thể đơn giản hoá mới bắt đầu phương pháp, giảm bớt khai phá khó khăn:

Javascript
wb.init({
appkey: ''
});

Nếu ngươi ứng dụng ở vào khai phá điều chỉnh thử quá trình, kiến nghị sử dụng JS SDK 2020 điều chỉnh thử hình thức, có thể ở khởi động lại khi, phối trí debug vì true, mở ra điều chỉnh thử hình thức, lúc này ở thuyên chuyển làm lỗi khi, làm lỗi tin tức đem thông qua alert bắn ra, phương tiện ở di động đoan điều chỉnh thử.

Javascript
wb.init({
debug: true,
...
});

Ký tên thuật toán thấy hồ sơ mặt sau thuyết minh, JS tiếp lời thuyết minh thấy mặt sau.


4, thông qua ready tiếp lời xử lý thành công nghiệm chứng

init khởi động lại sau sẽ chấp hành ready phương pháp, sở hữu JS tiếp lời thuyên chuyển đều cần thiết ở ready tiếp lời đạt được kết quả lúc sau. Nếu ngươi không có sử dụng Weibo bản cài đặt JS tiếp lời có thể nhảy qua này bước đi.

Javascript
wb.ready(function () {
alert( "## init success" );
});

init là một cái bản cài đặt dị bước thao tác, cho nên nếu yêu cầu ở giao diện thêm tái khi liền thuyên chuyển tương quan tiếp lời, tắc cần đem tương quan tiếp lời đặt ở ready hàm số trung thuyên chuyển tới bảo đảm chính xác chấp hành. Đối với người dùng kích phát khi tài hoa dùng tiếp lời, tắc có thể trực tiếp thuyên chuyển, không cần đặt ở ready hàm số trung.


5, thông qua error tiếp lời xử lý thất bại nghiệm chứng

Khởi động lại thất bại xử lý. Nếu ngươi không có sử dụng Weibo bản cài đặt JS tiếp lời có thể nhảy qua này bước đi.

Javascript
wb.error(function (res) {
alert( "## init error:" + res);
});

init khởi động lại thất bại sẽ chấp hành error hàm số, như ký tên quá thời hạn dẫn tới nghiệm chứng thất bại, sai lầm tin tức có thể ở phản hồi res tham số trung xem xét, có thể ở chỗ này đổi mới ký tên, một lần nữa nếm thử khởi động lại.


Mở ra nhãn

Mở ra nhãn cùng loại nguyên lai lắp ráp, trước mắt chủ yếu là chia sẻ, chú ý công năng.


Chia sẻ mở ra nhãn
Chia sẻ trước mặt giao diện đến Weibo, thích xứng các loại cảnh tượng.
Thí dụ mẫu
HTML
<wb-share-button> chia sẻ đến Weibo </wb-share-button>
Mở ra nhãn trung hình thức, hoàn toàn từ khai phá giả chính mình khống chế, tỷ như.
HTML
<wb-share-button><div class= "myStyle" > chia sẻ đến Weibo </div></wb-share-button>
Chỉ định chia sẻ nội dung cùng giao diện địa chỉ, có thể thông qua data:title, data:url thuộc tính nhãn hoàn thành tự định nghĩa, tỷ như.
HTML
<wb-share-button data:title= "title" data:url= "url" > chia sẻ đến Weibo </wb-share-button>
Nếu yêu cầu ở chia sẻ thời điểm, chỉ định một trương chia sẻ hình ảnh, có thể thông qua data:pic thuộc tính nhãn chỉ định hình ảnh địa chỉ, tỷ như.
HTML
<wb-share-button data:pic= "https://wx2.sinaimg.cn/large/53b515f0ly1glgemvpjwfj20gi0aw114.jpg" > chia sẻ đến Weibo </wb-share-button>


Chú ý mở ra nhãn
Chú ý ngươi Weibo tài khoản, thích xứng các loại cảnh tượng.
Thí dụ mẫu
HTML
<wb-follow-account data:uid= "1904178193" > ở Weibo thượng chú ý ta </wb-follow-account>
Chỉ định muốn chú ý Weibo tài khoản, thông qua data:uid thuộc tính nhãn hoàn thành.
Mở ra nhãn trung hình thức, hoàn toàn từ khai phá giả chính mình khống chế, tỷ như.
HTML
<wb-follow-account data:uid= "1904178193" ><div class= "myStyle" > ở Weibo thượng chú ý ta </div></wb-follow-account>
Đương ngươi giao diện ở Weibo bản cài đặt nội mở ra cũng tiến hành chú ý khi, có thể thông qua Weibo bản cài đặt JS tiếp lời, thu hoạch đến chú ý kết quả hồi điều sự kiện, cụ thể thỉnh tham kiến phía dưới Weibo bản cài đặt JS tiếp lời - nghe lén chú ý hồi điều sự kiện.


Weibo bản cài đặt nội JS tiếp lời thuyết minh

Weibo bản cài đặt JS tiếp lời.


wb.followCallBack
Nghe lén chú ý hồi điều sự kiện.
Thí dụ mẫu
Javascript
wb.followCallBack({
complete: function (res) {
alert( "## followCallBack event:" + JSON.stringify(res));
}
});
Tham số thuyết minh
Tham số tên Loại hình Thuyết minh miêu tả
complete Function Đương người dùng tiến hành chú ý thao tác khi, tiếp thu chú ý kết quả sự kiện hồi công hàm thuyên chuyển công tác số.
Phản hồi giá trị
Người dùng hủy bỏ thao tác, không có hoàn thành chú ý
Javascript
{
"result": false,
"message": "USER_CANCELLED"
}
Người dùng hoàn thành chú ý, đồng thời phản hồi người dùng này UID
Javascript
{
"result": true,
"uid": "10568"
}
Người dùng đã chú ý quá
Javascript
{
"result": false,
"message": "IS_FOLLOWING"
}
Nên chú ý hồi điều sự kiện, chỉ có thể nghe lén thông qua chú ý mở ra nhãn tiến hành chú ý trận này cảnh, mặt khác cảnh tượng chú ý sự kiện sẽ không tại đây phản hồi hồi điều sự kiện.
Nếu chọn dùng chính là giản dị khởi động lại hình thức, tắc không thể sử dụng Weibo bản cài đặt JS tiếp lời, cũng liền vô pháp tiến hành chú ý hồi điều sự kiện nghe lén, nhưng chú ý công năng bản thân không chịu ảnh hưởng, nếu ngươi yêu cầu thu hoạch chú ý hồi điều sự kiện, tắc thỉnh sử dụng hoàn toàn khởi động lại hình thức.


wb.getNetworkType
Thu hoạch internet loại hình.
Thí dụ mẫu
Javascript
wb.getNetworkType({
success: function (res) {
alert( "## getNetworkType success:" + JSON.stringify(res));
},
fail: function (res) {
alert( "## getNetworkType fail:" + JSON.stringify(res));
}
});
Tham số thuyết minh
Tham số tên Loại hình Thuyết minh miêu tả
success Function Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số.
fail Function Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số.
Phản hồi giá trị
Javascript
{
"network_type": "wifi"
}


wb.setBrowserTitle
Thiết trí giao diện tiêu đề.
Thí dụ mẫu
Javascript
wb.setBrowserTitle({
title: "JS SDK DEMO",
success: function (res) {
alert( "## setBrowserTitle success:" + JSON.stringify(res));
},
fail: function (res) {
alert( "## setBrowserTitle fail:" + JSON.stringify(res));
}
});
Tham số thuyết minh
Tham số tên Loại hình Thuyết minh miêu tả
title String Yêu cầu thiết trí giao diện tiêu đề.
success Function Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số.
fail Function Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số.
Sai lầm mã
Sai lầm mã Thuyết minh miêu tả
MISSING_PARAMS Khuyết thiếu title tham số.


wb.setSharingContent
Thiết trí ở Weibo nội chia sẻ đến WeChat nội dung.
Thí dụ mẫu
Javascript
wb.setSharingContent({
icon: "https://img.t.sinajs.cn/t6/style/images/face/face_card_longwb.png",
title: "SDK Sharing Content",
desc: "SDK Sharing Content",
success: function (res) {
alert( "## setSharingContent success:" + JSON.stringify(res));
},
fail: function (res) {
alert( "## setSharingContent fail:" + JSON.stringify(res));
}
});
Tham số thuyết minh
Tham số tên Loại hình Thuyết minh miêu tả
icon String Chia sẻ đến WeChat tấm card icon hình ảnh địa chỉ.
title String Chia sẻ đến WeChat tấm card tiêu đề.
desc String Chia sẻ đến WeChat tấm card miêu tả.
success Function Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số.
fail Function Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số.


wb.openMenu
Mở ra chia sẻ thực đơn
Thí dụ mẫu
Javascript
wb.openMenu({
success: function (res) {
alert( "## openMenu success:" + JSON.stringify(res));
},
fail: function (res) {
alert( "## openMenu fail:" + JSON.stringify(res));
}
});
Tham số thuyết minh
Tham số tên Loại hình Thuyết minh miêu tả
success Function Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số.
fail Function Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số.
Phản hồi giá trị
Javascript
{
"selected_code": "1005",
"selected_title": "Bằng hữu vòng"
}
Sai lầm mã
Sai lầm mã Thuyết minh miêu tả
USER_CANCELLED Người dùng trực tiếp đóng cửa thực đơn.


wb.shareToWxTimeline
Chia sẻ đến WeChat bằng hữu vòng
Thí dụ mẫu
Javascript
wb.shareToWxTimeline({
success: function (res) {
alert( "## shareToWxTimeline success:" + JSON.stringify(res));
},
fail: function (res) {
alert( "## shareToWxTimeline fail:" + JSON.stringify(res));
}
});
Tham số thuyết minh
Tham số tên Loại hình Thuyết minh miêu tả
success Function Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số.
fail Function Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số.


wb.shareToWxMessage
Chia sẻ đến WeChat bạn tốt
Thí dụ mẫu
Javascript
wb.shareToWxMessage({
success: function (res) {
alert( "## shareToWxMessage success:" + JSON.stringify(res));
},
fail: function (res) {
alert( "## shareToWxMessage fail:" + JSON.stringify(res));
}
});
Tham số thuyết minh
Tham số tên Loại hình Thuyết minh miêu tả
success Function Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số.
fail Function Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số.


wb.scanQRCode
Rà quét mã QR
Thí dụ mẫu
Javascript
wb.scanQRCode({
success: function (res) {
alert( "## scanQRCode success:" + JSON.stringify(res));
},
fail: function (res) {
alert( "## scanQRCode fail:" + JSON.stringify(res));
}
});
Tham số thuyết minh
Tham số tên Loại hình Thuyết minh miêu tả
success Function Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số.
fail Function Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số.
Phản hồi giá trị
Javascript
{
"result": "http://weibo"
}
Sai lầm mã
Sai lầm mã Thuyết minh miêu tả
USER_CANCELLED Người dùng hủy bỏ rà quét.
SERVICE_FORBIDDEN Không có cameras quyền hạn hoặc người dùng không cho phép sử dụng cameras.


wb.pickContact
Lựa chọn Weibo bạn tốt
Thí dụ mẫu
Javascript
wb.pickContact({
count: 3,
success: function (res) {
alert( "## pickContact success:" + JSON.stringify(res));
},
fail: function (res) {
alert( "## pickContact fail:" + JSON.stringify(res));
}
});
Tham số thuyết minh
Tham số tên Loại hình Thuyết minh miêu tả
count Int Có thể lựa chọn nhân số, tỷ như, truyền 1 chính là chỉ có thể tuyển một người, lớn nhất không thể vượt qua 10.
success Function Thuyên chuyển thành công sau hồi công hàm thuyên chuyển công tác số.
fail Function Thuyên chuyển sau khi thất bại hồi công hàm thuyên chuyển công tác số.
Phản hồi giá trị
Javascript
{
"contacts": [{
"uid": "1404376560",
"screen_name": "zaku",
"avatar_url": "https://tva2.sinaimg.cn/53b515f0jw1e8qgp5bmzyj2050050aa8.jpg"
}]
}
Sai lầm mã
Sai lầm mã Thuyết minh miêu tả
USER_CANCELLED Người dùng trực tiếp hủy bỏ lựa chọn.


JS SDK 2020 sử dụng quyền hạn ký tên thuật toán

Sinh thành ký tên phía trước trước hết cần hiểu biết một chút jsapi_ticket, jsapi_ticket là trang web dùng cho thuyên chuyển Weibo bản cài đặt nội JS tiếp lời lâm thời phiếu định mức. Bình thường dưới tình huống, jsapi_ticket thời hạn có hiệu lực vì 7200 giây. Bởi vì thời hạn có hiệu lực nội lại lần nữa thuyên chuyển nên tiếp lời sẽ dẫn tới ticket đổi mới, cũ trực tiếp mất đi hiệu lực. Bởi vậy thường xuyên đổi mới jsapi_ticket có khả năng dẫn tới ký tên kiểm tra thất bại, ảnh hưởng tự thân nghiệp vụ, bởi vậy, kiến nghị khai phá giả ở chính mình phục vụ toàn cục hoãn tồn jsapi_ticket.


Thu hoạch jsapi_ticket tiếp lời
Tiếp lời vì POST thỉnh cầu
API
https://api.weibo /oauth2/js_ticket/generate?client_id=APPKEY&client_secret=APPSECRET
Phản hồi giá trị
JSON
{
"result": true,
"appkey": "",
"js_ticket": "",
"expire_time": 7199
}
Trong đó, js_ticket vì yêu cầu thu hoạch jsapi_ticket, expire_time vì quá thời hạn thời gian.


Ký tên thuật toán

Ký tên sinh thành quy tắc như sau: Tham dự ký tên tự đoạn bao gồm noncestr, hữu hiệu jsapi_ticket, timestamp, url. Đối sở hữu đãi ký tên tham số dựa theo tự đoạn danh ASCII mã từ nhỏ đến lớn bài tự ( từ điển tự ) sau, sử dụng key1=value1&key2=value2… Cách thức ghép nối thành tự phù xuyến. Nơi này yêu cầu chú ý chính là sở hữu tham số danh đều vì viết thường tự phù, lúc sau đối tự phù xuyến tiến hành sha1 mã hóa, tự đoạn danh cùng tự đoạn giá trị đều chọn dùng nguyên thủy giá trị, trong đó, url vì trước mặt trang web hoàn chỉnh địa chỉ, nhưng là không bao hàm # và mặt sau bộ phận, cũng không cần tiến hành URL chuyển nghĩa.

Ký tên tự phù xuyến
Ký tên tự phù xuyến = "jsapi_ticket={jsapi_ticket}&noncestr={noncestr}&timestamp={timestamp}&url={url}"


Ký tên
Ký tên = sha1( ký tên tự phù xuyến )

Ký tên dùng noncestr cùng timestamp cần thiết cùng init trung noncestr cùng timestamp tương đồng. Ký tên dùng url cần thiết là thuyên chuyển JS tiếp lời giao diện hoàn chỉnh địa chỉ. Xuất phát từ an toàn suy xét, khai phá giả cần thiết ở server đoan thực hiện ký tên logic.


Phụ lục một, thực đơn cái nút code

Thực đơn cái nút code đối chiếu biểu
code
Mã hóa Thuyết minh miêu tả
1001 Chia sẻ đến Weibo.
1003 Chia sẻ đến Weibo đàn cùng tin nhắn.
1004 Chia sẻ đến WeChat bạn tốt.
1005 Chia sẻ đến WeChat bằng hữu vòng.
1101 Chia sẻ đến tin nhắn.
1012 Chia sẻ đến Alipay bạn tốt.
1010 Chia sẻ đến QQ.
1011 Chia sẻ đến QQ không gian.
1102 Chia sẻ đến bưu kiện.




Hồ sơ đổi mới thời gian: 2023-10-20