Plurk.com API 2.0
公式
API 文件:https://www.plurk.com/API/2/
API 文件解讀
公式API 非官方文件(好讀版)
Google Apps Script 專用的參考指引
參考案例
GO lang
Ruby
有登入授權的
更完整的案例
實現了透過用戶的噗浪帳號登入程式方面的應用。
常見的噗浪API應用,只控自己噗浪帳號。但他這個有用到用戶的噗浪帳號
其他案例,包含特別注意事項
此案例採用 Python + Heroku 部屬。
當 Plurk 帳號被官方視為 Bot 帳號,會無法在噗內進行內文張貼URL
此限制可以透過官方認證帳號或購買噗幣突破
所以最好還是另開一個帳號專門用 API,
避免哪天誤判個人號功能被限縮。
非官方API
その他
解決問題
Plurk 單噗網址與 API 用的 plurk_id 互相轉換
沒現成的解決方案,以下內容是我自己寫的 JavaScript function
有用到正則運算式 跟 JavaScript 簡寫
簡寫可參考:
URL → plurk_id
//JavaScript(Google Apps Script 可用)
var plurk_URL = 'https://www.plurk.com/p/pbx4sL';
var p = plurk_URL.replace(/.*plurk\.com\/p\/(.*)/gi,'$1'); //'pbx4sL';
var plurk_id = parseInt(p, 36); //= plurk_id = parseInt('pbx4sL', 36);
console.log(plurk_id);
得 plurk_id = 1531676037
會發現這樣轉換,是參考下面這邊:
逆向運算,plurk_id → URL。
有 API 可以用的 plurk_id,轉回噗浪網址:
//JavaScript(Google Apps Script 可用)
var plurk_id = 1531676037;
var p = plurk_id.toString(36);
console.log(p); //pbx4sl
var plurk_URL = 'https://plurk.com/p/' + p;
console.log(plurk_URL);
寫成 JavaScript function
URL → plurk_id
//JavaScript(Google Apps Script 可用)
function get_plurk_id(plurk_URL = 'https://plurk.com/p/pbxxxx'){
return /.*plurk\.com\/p\/(.*)/gi.test(plurk_URL) ? (parseInt(plurk_URL.replace(/.*plurk\.com\/p\/(.*)/gi,'$1'),36)) : '' ;
}
console.log(get_plurk_id('https://plurk.com/p/pbxxxx'));
plurk_id → URL
function get_plurk_URL(plurk_id = 1531676037){
return (typeof plurk_id == 'number') ? 'https://plurk.com/p/' + plurk_id.toString(36) : '';
}
console.log(get_plurk_URL(1531676037));
以上兩者合併自動辨識輸入是 URL 還是 plurk_id,自動輸出另一種:
//JavaScript(Google Apps Script 可用)
function get_plurk_target(URLorPLURK_ID){
var output = /.*plurk\.com\/p\/(.*)/gi.test(URLorPLURK_ID) ? (parseInt(URLorPLURK_ID.replace(/.*plurk\.com\/p\/(.*)/gi,'$1'),36)) : '' ;
if(output ==''){
output = (typeof URLorPLURK_ID == 'number') ? 'https://plurk.com/p/' + URLorPLURK_ID.toString(36) : '';
}
return output;
}
console.log(get_plurk_target(1531676037)); // = 'https://plurk.com/p/pbx4sl'
console.log(get_plurk_target('https://plurk.com/p/pbx4sl')); // = 1531676037
未解之謎
官方 API 文件都沒提到的
/APP/Timeline/setPorn
參數 plurk_id、porn
雖然這個 API 文件沒寫到,但發噗的時候也可以送 porn = 1,
讓發出去的這則噗 18禁。至於 /APP/Timeline/setPorn 看起來像是事後修改的功能,
可能要有噗幣?
我用沒噗幣的帳號測,/APP/Timeline/setPorn 都不成功。
この記事が気に入ったらサポートをしてみませんか?