อัญมณีทับทิมสำหรับใช้ API Bitly 4 Bitly เพื่อย่อลิงก์ขยายลิงก์สั้น ๆ และดูตัวชี้วัดข้ามผู้ใช้ลิงก์และองค์กร
การติดตั้ง
การใช้งาน
การรับรองความถูกต้อง
การสร้างไคลเอนต์ API
สั้นลงลิงค์
ขยายลิงก์
จุดสิ้นสุด API ที่มีอยู่
กลุ่ม
องค์กร
ผู้ใช้
bitlinks
BitLinks ที่กำหนดเอง
แคมเปญ
BSDS (โดเมนสั้น ๆ ที่มีตราสินค้า)
webhooks
ปรับแต่งคำขอ HTTP
สร้างอะแดปเตอร์ของคุณเอง
การพัฒนา
การบริจาค
ใบอนุญาต
จรรยาบรรณ
เพิ่มบรรทัดนี้ใน Gemfile ของแอปพลิเคชันของคุณ:
อัญมณี 'bitly'
แล้วดำเนินการ:
การติดตั้งชุด $
หรือติดตั้งด้วยตัวเองเป็น:
$ GEM ติดตั้ง bitly
สำหรับการแนะนำอย่างรวดเร็วให้อ่านโพสต์บล็อกนี้เกี่ยวกับวิธีการใช้ Bitly API ใน Ruby
จุดสิ้นสุด API ทั้งหมดต้องการการตรวจสอบด้วยโทเค็น OAuth คุณสามารถรับโทเค็น OAuth ของคุณเองจากคอนโซลบิตลี่ คลิกที่เมนูแบบเลื่อนลงบัญชีจากนั้น การตั้งค่าโปรไฟล์ จากนั้น โทเค็นการเข้าถึงทั่วไป กรอกรหัสผ่านของคุณและคุณสามารถสร้างโทเค็นการเข้าถึง OAuth
สำหรับวิธีอื่น ๆ ในการสร้างโทเค็นการเข้าถึงสำหรับผู้ใช้ผ่าน OAuth Flow ดูเอกสารการตรวจสอบความถูกต้อง
เมื่อคุณมีโทเค็นการเข้าถึงคุณสามารถใช้วิธี API ทั้งหมด
วิธี API ทั้งหมดมีให้ผ่าน Bitly::API::Client เริ่มต้นลูกค้าด้วยโทเค็นการเข้าถึงเช่น SO:
ไคลเอนต์ = bitly :: api :: client.new (โทเค็น: โทเค็น)
จากนั้นคุณสามารถใช้ไคลเอนต์เพื่อดำเนินการกับ API
ด้วยไคลเอนต์ที่ได้รับการรับรองความถูกต้องคุณสามารถย่อลิงก์ได้เช่น So:
bitLink = client.shorten (long_url: "http://example.com") bitlink.link# => http://bit.ly/2oujim0
ด้วยผู้ได้รับอนุญาตคุณสามารถขยาย BitLink ได้
bitLink = client.expand (bitlink: "bit.ly/2oujim0")
อัญมณีนี้รองรับจุดสิ้นสุด V4 API ที่ใช้งานต่อไปนี้สำหรับ API
เอกสารกลุ่ม
ดึงกลุ่ม ( GET /v4/groups )
ดึงกลุ่ม ( GET /v4/groups/{group_guid} )
อัปเดตกลุ่ม ( PATCH /v4/groups/{group_guid} )
ดึงแท็กตามกลุ่ม ( GET /v4/groups/{group_guid}/tags )
ดึงการตั้งค่ากลุ่ม ( GET /v4/groups/{group_guid}/preferences )
อัปเดตการตั้งค่ากลุ่ม ( PATCH /v4/groups/{group_guid}/preferences )
ดึง BitLinks ตามกลุ่ม ( GET /v4/groups/{group_guid}/bitlinks )
ดึง BitLinks ที่เรียงลำดับตามกลุ่ม ( GET /v4/groups/{group_guid}/bitlinks/{sort} )
ดึงกลุ่มลดจำนวนลง ( GET /v4/groups/{group_guid}/shorten_counts )
ดึงข้อมูลคลิกตัวชี้วัดสำหรับกลุ่มโดยอ้างอิงเครือข่าย ( GET /v4/groups/{group_guid}/referring_networks )
ดึงตัวชี้วัดคลิกสำหรับกลุ่มตามประเทศ ( GET /v4/groups/{group_guid}/countries )
[พรีเมี่ยม] ดึงตัวชี้วัดคลิกสำหรับกลุ่มโดยเมือง ( GET /v4/groups/{group_guid}/cities )
[พรีเมี่ยม] รับการแทนที่กลุ่ม ( GET /v4/groups/{group_guid}/overrides )
เอกสารขององค์กร
ดึงองค์กร ( GET /v4/organizations )
เรียกคืนองค์กร ( GET /v4/organizations/{organization_guid} )
เรียกคืนองค์กรให้สั้นลงนับ ( GET /v4/organizations/{organization_guid}/shorten_counts )
เอกสารของผู้ใช้
ดึงผู้ใช้ ( GET /v4/user )
อัปเดตผู้ใช้ ( PATCH /v4/user )
เอกสาร BitLinks
ย่อลิงก์ ( POST /v4/shorten )
ขยาย BitLink ( POST /v4/expand )
ดึง BitLink ( GET /v4/bitlinks/{bitlink} )
สร้าง bitlink ( POST /v4/bitlinks )
อัปเดต bitLink ( PATCH /v4/bitlinks/{bitlink} )
ลบ Hash BitLink ที่ไม่มีการแก้ไข ( DELETE /v4/bitlinks/{bitlink} )
รับคลิกสำหรับ BitLink ( GET /v4/bitlinks/{bitlink}/clicks )
รับการคลิกสรุปสำหรับ bitlink ( GET /v4/bitlinks/{bitlink}/clicks/summary )
รับการวัดสำหรับ BitLink โดยประเทศ ( GET /v4/bitlinks/{bitlink}/countries )
รับการวัดสำหรับ bitlink โดยผู้อ้างอิง ( GET /v4/bitlinks/{bitlink}/referrers )
รับการวัดสำหรับ bitlink โดยอ้างอิงโดเมน ( GET /v4/bitlinks/{bitlink}/referring_domains )
รับการวัดสำหรับ bitlink โดยผู้อ้างอิงโดยโดเมน ( GET /v4/bitlinks/{bitlink}/referrers_by_domains )
[พรีเมี่ยม] รับการวัดสำหรับ BitLink โดย City ( GET /v4/bitlinks/{bitlink}/cities )
[พรีเมี่ยม] รับการวัดสำหรับ bitlink ตามประเภทอุปกรณ์ ( GET /v4/bitlinks/{bitlink}/devices )
[พรีเมี่ยม] ดึงรหัส QR สำหรับ bitlink ( GET /v4/bitlinks/{bitlink}/qr )
[พรีเมี่ยม] อัปเดตรหัส QR ( PATCH /v4/bitlinks/{bitlink}/qr )
[พรีเมี่ยม] สร้างรหัส QR ( POST /v4/bitlinks/{bitlink}/qr )
เพิ่ม BitLink ที่กำหนดเอง ( POST /v4/custom_bitlinks )
[พรีเมี่ยม] ดึง BitLink ที่กำหนดเอง ( GET /v4/custom_bitlinks/{custom_bitlink} )
[พรีเมี่ยม] อัปเดต BitLink ที่กำหนดเอง ( PATCH /v4/custom_bitlinks/{custom_bitlink} )
[พรีเมี่ยม] รับการวัดสำหรับ bitlink ที่กำหนดเองตามปลายทาง ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks_by_destination )
[พรีเมี่ยม] รับคลิกเพื่อประวัติทั้งหมดของ Bitlin ที่กำหนดเอง ( GET /v4/custom_bitlinks/{custom_bitlink}/clicks )
[พรีเมี่ยม] ดึงแคมเปญ ( GET /v4/campaigns )
[พรีเมี่ยม] สร้างแคมเปญ ( POST /v4/campaigns )
[พรีเมี่ยม] ดึงแคมเปญ ( GET /v4/campaigns/{campaign_guid} )
[พรีเมี่ยม] แคมเปญอัปเดต ( PATCH /v4/campaigns/{campaign_guid} )
[พรีเมี่ยม] ดึงแชนเนล ( GET /v4/channels )
[พรีเมี่ยม] สร้างช่อง ( POST /v4/channels )
[พรีเมี่ยม] ดึงช่อง ( GET /v4/channels/{channel_guid} )
[พรีเมี่ยม] อัปเดตช่อง ( PATCH /v4/channels/{channel_guid} )
เอกสารโดเมนสั้น ๆ ที่มีตราสินค้า
ดึง BSDS ( GET /v4/bsds )
[พรีเมี่ยม] รับ webhooks ( GET /v4/organizations/{organization_guid}/webhooks )
[พรีเมี่ยม] สร้าง webhook ( POST /v4/webhooks )
[พรีเมี่ยม] ดึง webhook ( GET /v4/webhooks/{webhook_guid} )
[พรีเมี่ยม] อัปเดต webhook ( POST /v4/webhooks/{webhook_guid )
[พรีเมี่ยม] ลบ webhook ( DELETE /v4/webhooks/{webhook_guid} )
[พรีเมี่ยม] ตรวจสอบ webhook ( POST /v4/webhooks/{webhook_guid}/verify )
อัญมณีนี้มาพร้อมกับไคลเอนต์ HTTP ที่สามารถใช้อะแดปเตอร์ที่แตกต่างกัน มันจัดส่งด้วยอะแดปเตอร์ Net::HTTP ที่ใช้โดยค่าเริ่มต้น
หากคุณต้องการควบคุมการเชื่อมต่อคุณสามารถสร้างอินสแตนซ์ของคุณเองของอะแดปเตอร์ Net::HTTP และส่งผ่านตัวเลือกสำหรับพร็อกซี HTTP หรือตัวเลือกที่ควบคุมคำขอ ตัวอย่างเช่นในการควบคุม read_timeout คุณสามารถทำได้:
อะแดปเตอร์ = bitly :: http :: อะแดปเตอร์ :: nethttp.new (request_options: {read_timeout: 1}) http_client = bitly :: http :: client.new (อะแดปเตอร์) : http_client, โทเค็น: โทเค็น)ในทำนองเดียวกันคุณสามารถใช้พร็อกซี HTTP กับอะแดปเตอร์โดยผ่านตัวแปรพร็อกซีไปยังตัวสร้างอะแดปเตอร์
อะแดปเตอร์ = bitly :: http :: อะแดปเตอร์ :: nethttp.new (proxy_addr: "example.com", proxy_port: 80, proxy_user: "ชื่อผู้ใช้", proxy_pass: "รหัสผ่าน") http_client = bitly :: http :: (อะแดปเตอร์) api_client = bitly :: api :: client.new (http: http_client, โทเค็น: โทเค็น)
หากคุณต้องการควบคุมคำขอมากขึ้นคุณสามารถสร้างอะแดปเตอร์ของคุณเองได้ อะแดปเตอร์ HTTP ภายในอัญมณีนี้จะต้องมีวิธี request สแตนซ์ที่ได้รับ Bitly::HTTP::Request Object และส่งคืนอาร์เรย์ของสี่วัตถุ:
รหัสสถานะการตอบกลับ
ร่างกายของการตอบสนองเป็นสตริง
ส่วนหัวตอบกลับเป็นแฮช
บูลีนแสดงว่าการตอบสนองนั้นประสบความสำเร็จหรือไม่
ดู ./src/bitly/http/adapters/net_http.rb สำหรับตัวอย่าง
หลังจากตรวจสอบ repo ให้เรียกใช้ bin/setup เพื่อติดตั้งการพึ่งพา จากนั้นเรียกใช้ rake spec เพื่อเรียกใช้การทดสอบ นอกจากนี้คุณยังสามารถเรียกใช้ bin/console สำหรับพรอมต์แบบโต้ตอบที่จะช่วยให้คุณสามารถทดลองได้
ในการติดตั้งอัญมณีนี้ลงบนเครื่องในเครื่องของคุณให้เรียกใช้ bundle exec rake install หากต้องการเปิดตัวเวอร์ชันใหม่ให้อัปเดตหมายเลขเวอร์ชันใน version.rb จากนั้นเรียกใช้ bundle exec rake release ซึ่งจะสร้างแท็ก GIT สำหรับเวอร์ชันกด GIT และแท็กและกดไฟล์ .gem ไปที่ rubygems.org
รายงานข้อผิดพลาดและคำขอดึงยินดีต้อนรับบน GitHub ที่ https://github.com/philnash/bitly โครงการนี้มีจุดประสงค์เพื่อเป็นพื้นที่ที่ปลอดภัยและเป็นมิตรสำหรับการทำงานร่วมกันและผู้สนับสนุนคาดว่าจะปฏิบัติตามจรรยาบรรณของผู้สนับสนุน
อัญมณีมีให้เป็นโอเพ่นซอร์สภายใต้ข้อกำหนดของใบอนุญาต MIT
ทุกคนมีปฏิสัมพันธ์ในรหัสฐานของโครงการบิตลี่ตัวติดตามปัญหาห้องแชทและรายชื่อผู้รับจดหมายคาดว่าจะปฏิบัติตามจรรยาบรรณ