Websites informations and tips
Logos: https://github.com/larsenwork/social.svg.min
[Web scrapping](Web scrapping)
Creative networks:
https://cargocollective.com
https://thedisplay.me
https://deviantart.com
https://behance.net
Access
Services not available in China: GreatFire.org - Expanding Online Freedom of Speech in China and Beyond Twitter, Github, Microsoft's OneDrive, Dropbox, Google Drive, Youtube, Instragram can be blocked in Turkey LinkedIn is blocked in Russia
Social network are not the same everywhere. Ex.: in China Facebook and Twitter are banned, Chinese use WeChat and Weibo instead.
This can also impact dependencies like styles, fonts, images, video, scripts (libs, API scripts), etc.
Trust and safe
Social media dimensions
https://docs.google.com/spreadsheets/d/1IpTYTTMJLcSXcPDtW9zSbPBHQyRdrLfKERohGIIkE_Q/edit#gid=1990145635
Images
Avatar
Aka identicon
Intent URLs
See also Web Intents and WebActivities
See also navigator.share()
API and navigator.canShare()
API
Some social network have a direct access to share an URL, text or to prefill a message
Test with URI template online tester
Twitter
URL template: https://twitter.com/intent/tweet{?url,text,via,related,hashtags}
Parameters (optional):
text
: the tweet texturl
: the URL or title:
URL (ex:Some title:http://example.com
)via
: Twitter handlehashtags
: comma-separated list of hashtags, ex:hashtag1,hashtag2,hashtag3
original_referer
: URLin_reply_to
: tweet ID
Examples:
URL template: https://twitter.com/intent/retweet{?tweet_id}
Parameter (required) tweet_id
: Tweet ID
Facebook
URL templates:
https://www.facebook.com/sharer/sharer.php?u={url}
https://www.facebook.com/sharer.php?s=100&p[url]={url}
https://www.facebook.com/dialog/share?display=popup{&app_id,href,quote,hashtag}
Parameters:
app_id
: the (controled) Facebook App IDhref
: the URLquote
(optional): descriptionhashtag
(optional): (only one)hashtag including the hash symbol
Examples:
URL template: https://www.facebook.com/dialog/send?display=popup{&app_id,link}
Parameters:
app_id
: the (controled) Facebook App IDlink
: the URLlocale
(optional): the locale (with an underscore separator)redirect_uri
(optional): redirect URLto
(optional): app-scoped other user ID (the recipient)
Examples:
Linkedin
URL template: https://www.linkedin.com/shareArticle?mini=true{&url,title,summary,source}
Parameters:
url
: the URLtitle
: a titlesummary
: a descriptionsource
: the source URL
Pinterest
URL template: https://www.pinterest.com/pin/create/button/{?url,description,media}
Parameters:
url
: the URLdescription
: a descriptionmedia
: a source image source
URL template: https://www.pinterest.com/pin/create/link/{?url,description,media}
Parameters:
url
: the URLdescription
: a descriptionmedia
: a source image source
URL template: https://www.pinterest.com/pin/find/{?url}
Others
+-----------------------+---------------------------------------------------------------+----------------------------------------------------------- | Network | URL templates | Parameters +=======================+===============================================================+=========================================================== | AddThis | https://api.addthis.com/oexchange/0.8/offer | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Diaspora | https://share.diasporafoundation.org/ | - url
: {URL}
| | | - title
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Flattr | https://flattr.com/submit/auto | - url
: {URL}
| | | - title
: {TITLE}
| | | - description
: {DESCRIPTION}
| | | - user_id
: {FLATTR_USER_ID}
| | | - hidden
: 0
or 1
| | | - category
: text
or other? | | | - tags
: ? | | | | | | - HowTo: Flattr in WordPress.com +-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Reddit | https://www.reddit.com/submit/ | - url
: {URL}
| | | - title
(optional): {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Hacker News | https://news.ycombinator.com/submitlink | - u
: {URL}
| | | - t
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Viadeo | https://www.viadeo.com/shareit/share/ | - url
: {URL}
| | | - title
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Tumblr | https://www.tumblr.com/share | - v
: 3
| | | - u
: {URL}
| | | - t
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Tumblr | https://tumblr.com/widgets/share/tool | - canonicalUrl
: {URL}
| | | - posttype
(optional): link
| | | - title
(optional): {TITLE}
| | | - caption
(optional): {TITLE}
| | | - content
(optional): {URL}
| | | - shareSource
(optional): tumblr_share_button
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Digg | https://digg.com/submit | - url
: {URL}
| | | - title={TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Skype | https://web.skype.com/share | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Delicious | https://delicious.com/save_url | - v
: 5
| | | - provider
: getsocial
| | | - noui
: no value | | | - jump
: close
| | | - url
: {URL}
| | | - title
: {TITLE}
| | | - pic
: {IMAGE_SRC}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | StumbleUpon | https://www.stumbleupon.com/badge/ | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Stumbleupon | https://www.stumbleupon.com/submit | - url
: {URL}
| | | - title
(optional): {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Odnoklassniki | https://www.ok.ru/dk | - st.cmd
: addShare
| | | - st.s
: 1
| | | - st._surl
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Buffer | https://buffer.com/add | - url
: {URL}
| | | - text
: {TITLE}
| | | - picture
: {IMAGE_SRC}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Yummly | https://www.yummly.com/urb/verify | - url
: {URL}
| | | - imageurl
: {IMAGE_SRC}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Draugiem.lv | https://www.draugiem.lv/say/ext/add.php | - title
: {TITLE}
| | | - link
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Slack | https://slack.com/oauth/authorize | - scope
: incoming-webhook,chat:write:user
| | | - client_id
: {SLACK_CLIENT_ID}
, ex: 11072499345.25274635444
| | | - redirect_uri
: {REDIRECT_URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Evernote | https://www.evernote.com/clip.action | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Flipboard | https://share.flipboard.com/bookmarklet/popout | - v
: 2
| | | - title
: {TITLE}
| | | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Pocket | https://getpocket.com/save | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | VKontakte | https://vk.com/share.php | - url
: {URL}
| | | - title
(optional): {TITLE}
| | | - description
(optional): {DESCRIPTION}
| | | - image
(optional): {IMAGE_SRC}
| | | - noparse
(optional): true
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Xing | https://www.xing-share.com/app/user | - op
: share
| | | - url
: {URL}
| | | - sc_p
(optional): xing-share
| | | | | | Note: use ;
as pairs separator +-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Xing | https://www.xing.com/app/user | - op
: share
| | | - url
: {URL}
| | | - title
: {TITLE}
| | | | | | Note: use ;
as pairs separator +-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Xing | https://www.xing.com/social_plugins/share | - h
(optional): 1
| | | - url
: {URL}
| | | | | | Note: use ;
as pairs separator +-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Xing | https://www.xing.com/spi/shares/new | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | RenRen | https://share.renren.com/share/buttonshare | - link
: {URL}
| | | - title
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | RenRen | https://share.renren.com/share/buttonshare.do | - link
: {URL}
| | | - title
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | YoudaoNote | https://note.youdao.com/memory/ | - url
: {URL}
| | | - title
: {TITLE}
| | | - sumary
: | | | - `pic`: `{IMAGE_SRC}` | | | - `product`:
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Facenama | https://facenama.com/links/ | - url
: {URL}
| | | - title
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Cloob | https://www.cloob.com/share/link/add | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Telegram | https://t.me/share/url | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Telegram | https://telegram.me/share/url | - text
: {TEXT}
| | | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Telegram | https://telegram.me/share/ | - text
: {TITLE}
| | | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Yahoo App | ymsgr:sendim | - {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Afsaran | http://www.afsaran.ir/link/share | - from
: out
| | | - id
: 0
| | | - title
: {TITLE}
| | | - url
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Baidu | https://like.baidu.com/set | - url
: {URL}
| | | - buttontype
(optional): small
| | | - cb
(optional): {JS_CALLBACK_NAME}
, ex: bdShare.ajax._callbacks.bd4bb141b
| | | - index
(optional): 0
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Baidu | https://hi.baidu.com/pub/show/share | - url
: {URL}
| | | - title
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Baidu | https://s.share.baidu.com/ | - click
: 1
| | | - url
: {URL}
| | | - to
: bdhome
| | | - type
: text
| | | - pic
: {IMAGE_SRC}
| | | - title
: {TITLE}
| | | - sign
: on
| | | - l
: ?, ex: 1auq178vh1auq17a0t1auq18luh
| | | - linkid
: ?, ex: iu5kdble07c
| | | - sloc
: ?, ex: 570.1.1.95.17.75.16.97.31.1.1404.836.1043.1440.803
| | | - apiType
: 0
| | | - buttonType
: 0
| | | - firstime
: ?, ex: 1476184008114
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Weibo | https://service.weibo.com/share/share.php | - url
: {URL}
| | | - title
(optional): {TITLE}
| | | - pic
(optional): {IMAGE_SRC}
| | | - appkey
(optional): SINA_AKEY
or empty value | | | - ralateUid
(optional): {SINA_USER}
or empty value, ex: SinaWeibo
; RelatedID http://open.weibo.com/sharebutton | | | - language
(optional): {LANG}
, ex: zh_cn
| | | - searchPic
(optional): false
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | QZone | https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey | - url
: {URL}
| | | - title
: {TITLE}
| | | - desc
: empty value | | | - summary
: empty value | | | - site
: empty value | | | - pics
: {IMAGE_SRC}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Tencent Weibo | https://v.t.qq.com/share/share.php | - url
: {URL}
| | | - title
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Qzone | https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey | - url
: {URL}
| | | - title
: {TITLE}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | QQWeibo | https://share.v.t.qq.com/index.php | - c
: share
| | | - a
: index
| | | - url
: {URL}
| | | - title
: {TITLE}
| | | - pic
: {IMAGE_SRC}
| | | - appkey
: QQT_APPKEY
, ex: QQWeibo
; AppKey http://open.t.qq.com/apps/share/explain.php +-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | QQEmail Me | https://mail.qq.com/cgi-bin/qm_share | - t
: qm_mailme
| | | - email
: {QQ_EMAIL_ID}
, ex: QQEmail
; Code http://open.mail.qq.com/ +-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | QQChat Me | https://wpa.qq.com/msgrd | - v
: 3
| | | - uin
: {QQ_TALK_ID}
, ex: http://wpa.qq.com/msgrd?v=3&uin={NUM}&site=XiaoMac&menu=yes | | | - site
: {URL}
| | | - menu
: yes
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Threema App | threema://compose | - text
: {TEXT} {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | WeChat | | WeChat require JS API or display a QRCode to be scanned with WeChat | | | | | | - http://dev.wechat.com/ | | | - http://admin.wechat.com/wiki/index.php?title=JS_SDK_DOCUMENT | | | - https://github.com/weui/weui/wiki/%E5%BE%AE%E4%BF%A1JSAPI | | | - https://stackoverflow.com/questions/22636071/wechat-sharing-how-to-change-re-share-description-and-thumbail +-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Twitter App | twitter://post | - message
: {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | WhatsApp App | whatsapp://send | - text
: {URL}
or {TEXT} {URL}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | WhatsApp App | https://api.whatsapp.com/send | - phone
: phone number (international format, without spaces, etc.) | | | - text
: {TEXT}
+-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | WhatsApp App | https://wa.me/{PHONE} | - WhatsApp FAQ - Using Click to Chat +-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Line App | line://msg/text/{URL} | +-----------------------+---------------------------------------------------------------+---------------------------------------------------------- | Mail | mailto: | - to
: {RECIPIENT_EMAIL}
| | | - subject
: {TITLE}
| | | - body
: {URL}
or {DESCRIPTION}
+-----------------------+---------------------------------------------------------------+----------------------------------------------------------
Others activities:
|---------------------------|---------------------------------------------------------------|----------------------------------------------------------
javascript:window.print()
---------------------------
---------------------------------------------------------------
----------------------------------------------------------
Add to Google Calendar
https://www.google.com/calendar/event
- text
: {TITLE}
https://calendar.google.com/calendar/r/eventedit
- action
(optional): TEMPLATE
- pprop
(optional): HowCreated:QUICKADD
- sprop
(optional): ex: website:www.justgiving.com
- sprop
(optional): ex: name:Justgiving
- sf
(optional): true
- dates
: {START_DATE}/{END_DATE}
(format for each dates: YYYYMMDD
or YYYYMMDDTHHmmSS
)
- details
: {DESCRIPTION}
(multilines)
- location
: {LOCATION}
(could be an address, only one line, parts separated by comma ,
)
- output
(optional): xml
---------------------------
---------------------------------------------------------------
------------------------------------------------------------------------------------------------
Add to Yahoo Calendar
https://calendar.yahoo.com/
- text
: {TITLE}
- v
: 60
- DUR
(optional): {DURATION}
(format HHmm
) For all-day event, dont use this field
- TITLE
: {TITLE}
- ST
: {START_DATE}
(format: YYYYMMDD for all-day event or YYYYMMDDTHHmmSS)
- in_loc
: {LOCATION}
- DESC
: {DESCRIPTION}
- URL
: {URL}
page to link back to from the calendar
- REND
: {END_DATE}
format: total seconds since 1/1/1970 12:00:00 AM
- RPAT
: {REPEAT_DELAY}
format:
- Day: 01Dy
- Week: 01Wk
- Month: 01Mh
- Year: 01Yr
- Mon Wedn Fri: 01MoWeFr
- Tues Thurs: 01TuTh
- Mon - Fri: 01MoTuWeThFr
- Sat - Sun: 01SuSa
---------------------------
---------------------------------------------------------------
----------------------------------------------------------
Add to Windows Live
https://calendar.live.com/calendar/calendar.aspx
- rru
: addevent
- summary
: {TITLE}
- location
: {LOCATION}
- dtstart
: {START_DATE}
(format: YYYYMMDDTHHmmSS
or YYYYMMDD
for all-day event)
- dtend
: {END_DATE}
(format: same as dtstart
)
- description
: {DESCRIPTION}
---------------------------
---------------------------------------------------------------
----------------------------------------------------------
QRCode (WeChat, etc.)
https://chart.googleapis.com/chart
- chs
: {WIDTH}x{HEIGHT}
, ex: 400×400
- cht
: qr
- chld
: `{QRCODE_ECL}
- chl
: {URL}
- [QR Codes
---------------------------
---------------------------------------------------------------
----------------------------------------------------------
iCalendar file
data:text/calendar,
URL encoded content of iCalendar
---------------------------
---------------------------------------------------------------
----------------------------------------------------------
More networks and informations:
Plugins and libs:
Interactions count
Open Intent URL
Use target="_blank"
(adviced) and rel="nofollow"
(required).
Note: if the intent document load start can't be made direclty after the user interaction (set the final window.open
href in click listener), open a blank document the intent window first, and later (after a asynchronous task, update the content of popup) set the final URL
Facebook: 600×300 or 555×320
Twitter: 550×420 or 500×310
LinkedIn:
login: content: 974×622, window.open(): 974×688 (Chrome macOS)
share: content: 550×475 (content call automatically
window.resizeBy(offsetX, offsetY)
)
Share buttons
Is it really usefull?
ils ne sont utilisé que moins d’une fois sur 5 – De l'intérêt des boutons de partage - MediasSociaux.fr
Map engine API
HTTPS not supported by Google Apps for Crimea, Cuba, Iran, North Korea, Sudan, and Syria. That means accounts not working.
Borders and labels are differents based where your request maps. Examples: Arunachal Pradesh and Kashmir (google.cn/maps, google.co.in/maps, google.com/maps)
In China?
https://maps.googleapis.com with http://maps.google.cn
百度地图API-首页 http://developer.baidu.com/map/jsdemo.htm#a5_1 http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding http://lbsyun.baidu.com/index.php?title=jspopular
http://api.map.baidu.com/staticimage?center={longitude},{latitude}&width={width}&height={height}&zoom=15&markers={longitude},{latitude} http://api.map.baidu.com/staticimage?center=121,31&width=300&height=300&zoom=15
Google Search Console
Online document previewer
Only files under 25 MB can be previewed with the Google Drive viewer.
Google Drive viewer:
Image files (.JPEG, .PNG, .GIF, .TIFF, .BMP)
Video files (WebM, .MPEG4, .3GPP, .MOV, .AVI, .MPEGPS, .WMV, .FLV)
Text files (.TXT)
Markup/Code (.CSS, .HTML, .PHP, .C, .CPP, .H, .HPP, .JS)
Microsoft Word (.DOC and .DOCX)
Microsoft Excel (.XLS and .XLSX)
Microsoft PowerPoint (.PPT and .PPTX)
Adobe Portable Document Format (.PDF)
Apple Pages (.PAGES)
Adobe Illustrator (.AI)
Adobe Photoshop (.PSD)
Tagged Image File Format (.TIFF)
Autodesk AutoCad (.DXF)
Scalable Vector Graphics (.SVG)
PostScript (.EPS, .PS)
TrueType (.TTF)
XML Paper Specification (.XPS)
Archive file types (.ZIP and .RAR)
Office Web Apps Viewer:
ppt
pptx
doc
docx
xls
xlsx
https://docs.google.com/spreadsheets/d/SHEET_ID/pubhtml?widget=true&headers=true
[oEmbed]
URL shorteners
http://bit.ly/
http://goo.gl/
http://t.co/
http://ow.ly/
http://adf.ly/
http://tinyurl.com/
http://wp.me/
http://amzn.to/
http://youtu.be/
http://bit.do/
http://lnkd.in/
http://db.tt/
http://qr.ae/
http://cur.lv/
http://ht.ly/
http://ity.im/
http://q.gs/
http://is.gd/
http://po.st/
http://bc.vc/
http://u.to/
http://j.mp/
http://buzurl.com/
http://cutt.us/
http://u.bb/
http://x.co/
http://scrnch.me/
http://vzturl.com/
http://qr.net/
http://1url.com/
http://tweez.me/
http://v.gd/
http://tr.im/
http://trib.al/
http://zip.net/
http://➡.ws/
http://✩.ws/
http://0.mk/
http://888.hn/
http://b54.in/
http://bit.ly/
http://budurl.com/
http://doiop.com/
http://korta.nu/
http://lxcurl.com/
http://s.coop/
http://snipurl.com/
http://tiny.cc/
http://tinyurl.com/
http://gg.gg/
http://urlcut.org/
http://qr.net/
http://7.ly/
http://clicky.me/
http://bigly.us/
http://minu.me/
http://tinyarro.ws/
http://urlrace.com/
http://qoiob.com/
http://sh.st/
Branded bitly
https://gist.github.com/MrSherlockHolmes/b3fc2b21b94040921c69
https://www.techmaish.com/list-of-230-free-url-shorteners-services/
Unshorten:
https://unshorten.me/s/{short}
http://www.linkexpander.com/?url={short}
Youtube
Link at time: http://www.youtube.com/watch?v=cOde0332432&t=1m5s
Embed with start time and stop (in seconds) https://www.youtube.com/embed/7qkmGjWtG0w?start=840&end=1240&autoplay=1
or https://www.youtube.com/v/7qkmGjWtG0w?start=840&end=1240&autoplay=1
See YouTube Embedded Players and Player Parameters | YouTube IFrame Player API | Google Developers or How to share a YouTube video with a specific start and end time? - Web Applications Stack Exchange But it's looklike the end parameter doesn't works (2018)
Youtube video data
Video thumbnail:
Require an API key:
view count
json.videos[0].statistics.viewCount
(see also.likeCount
)title
items.snippet.title
items.contentDetails.duration
https://www.youtube.com/get_video_info?video_id={video_id}
-application/x-www-form-urlencoded
(for Flash player?)https://www.youtube.com/oembed?url={video-url}&format=json
- oEmbed JSON (no CORS)https://noembed.com/embed?url={video-url}&format=json
- Noembed - oEmbed everything., leedo/noembed: oEmbed gateway service with additional non-oEmbed sources and noembed/noembed: oEmbed gateway service with additional non-oEmbed sources
API
Require embed src with param enablejsapi=1
Add it in with wordpress:
Stop video
Listen events
event.data
is a serialized JSON object
Watch video in full HD
Video formats
taille standard : 320×180@330Kbps en H263 (Sorenson)
taille "HD" : 480×270@570Kbps en H263
Dailymotion
API
Require embed src with param api=postMessage
.
Add it in with wordpress:
Pause video
Previously?:
Listen events
event.data
is a query string
Google Maps
https://www.google.com/maps/@{latitude},{longitude},{zoom}z
https://maps.google.com/maps?daddr={latitude},{longitude}{&saddr}
saddr
is optional: start point,daddr
is optional: destination point (add+to:
for steps "via")https://www.google.com/maps/dir/{startpoint}/{destpoint}
(startpoint
is optional, can be blank,startpoint
can becurrent+location
). For steps "via" (multidestination / waypoints) add/{point}
between start and dest. Encode space with+
(%20
is also supported). For multiline/multipart addresses (ex: street name, city, zipcode, country), replace line break with,
https://www.google.com/maps/place/?q=place_id:{placeid}
placeid
start withChIJ...
https://www.google.com/maps/place/{placename}/@{latitude},{longitude},{zoom}z/
Bracket syntax (add a label for start or dest) doesn't work any more.
Google Maps My Maps
Use it as data source and editor (can output KML)
Import Google Drive Sheet in My Map : New Layer > Import > Google Drive. Must contains at least columns: Title, Latitude, Longitude
Original Google Drive Share Url: https://drive.google.com/file/d/{kml_file_id}
Hosted KML file to use in your application: https://googledrive.com/host/{kml_file_id}
Google Maps styles
Only for embeded maps
Snazzy Maps - Free Styles for Google Maps
window.map.setMapTypeId(google.maps.MapTypeId.HYBRID)
orwindow.editor.map.setMapTypeId(google.maps.MapTypeId.HYBRID)
for https://snazzymaps.com/editor/customize/XXXXX
API
https://maps.googleapis.com/maps/api/place/details/json?key=YOURAPIKEY&placeid=THEPLACEID
->json["result"]["url"]
PLACE_ID
start withChIJ...
google maps - How do I remove default markers? - Stack Overflow - How to remove Points of Interest (colored marker for commercial places, monuments, etc.), use style feature type
poi
Center to all markers
Icons
https://www.google.com/maps/vt/icon/name=...&scale=...
or https://www.google.com/maps/vt/icon?...=...&...=...
or https://www.google.com/maps/vt/icon/...=...&...=...?...=...&...=...
name=...
path (1,n) required. List of graphic resources to use. The last element is the first in fronthighlight=...
color (1,n). Replace a color (ex.assets/icons/poi/quantum/container_shadow-1-small.png
: none,assets/icons/poi/quantum/container-1-small.png
: 0×00FF00, icon: 0xFF00FF) by the given colorscale=...
number 1 (default), 2 (retina, 2x), 3, 4. Scale of the result imagetext=...
string. Textpsize=...
text sizefont=...
font path eq.fonts/Roboto-Bold.ttf
color=...
color. text colorax=...
number. Text x positionay=...
number. Text y positioncolor
: hexadecimal: 0, ARGB, RRGGBB or AARRGGBBquantity
1, n
: could be 1 value or multiple values separated by,
...-3-large
,...-2-medium
,...-1-small
,...-0-tiny
. All sizes are not supported by each icons. All support at least medium and small sizes. Width and height are related to size, resolution and icon
List of available resources (protocol buffer encoded data): https://www.gstatic.com/maps/res/CompactLegend-Roadmap-cbc3edfa467314789e34bc25eaddcfe2 (to get the last version, view-source:https://www.google.com/maps/search/
and search gstatic.com/maps/res/CompactLegend
)
0×6d7be3, 0×8d6e63, 0xf57f17
name=icons/spotlight/restaurant_search_L_8x.png&scale=1
name=icons/spotlight/lodging_search_L_8x.png&scale=1
name=icons/spotlight/star_L_8x.png&scale=1
name=icons/spotlight/generic_search_L_8x.png&scale=1
name=icons/spotlight/spotlight-poi.png&scale=2
name=assets/icons/poi/tactile/measle-2-medium.png&color=ff000000?scale=1
name=assets/icons/road/transparent-2-medium.png&color=ff000000?scale=1
name=assets/icons/spotlight/spotlight_poi-1-small.png&color=ff000000?scale=1
name=assets/icons/poi/quantum/container-19px-2-medium.png,assets/icons/poi/quantum/container-19px-2-medium.png,assets/icons/poi/quantum/branded/...
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/restaurant-1-small.png&highlight=ff000000,f57f17,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/generic-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/lodging-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/cemetery-1-small.png&highlight=ff000000,ffffff,7cb342&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/generic-1-small.png&highlight=ff000000,ffffff,8d6e63&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/golf-1-small.png&highlight=ff000000,ffffff,7cb342&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/historic-1-small.png&highlight=ff000000,ffffff,8d6e63&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/hospital_H-1-small.png&highlight=ff000000,ffffff,db4437&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/museum-1-small.png&highlight=ff000000,ffffff,8d6e63&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/note-1-small.png&highlight=ff000000,ffffff,8d6e63&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/paw-1-small.png&highlight=ff000000,ffffff,8d6e63&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/school-1-small.png&highlight=ff000000,ffffff,8d6e63&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/shoppingbag-1-small.png&highlight=ff000000,ffffff,6b79c5&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/stadium-1-small.png&highlight=ff000000,ffffff,8d6e63&color=ff000000?scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/worship_temple-1-small.png&highlight=ff000000,ffffff,8d6e63&color=ff000000?scale=1
name=assets/icons/transit/localizations/ru/moscow-metro_ring-0-tiny.png,assets/icons/transit/localizations/ru/moscow-metro_circle-0-tiny.png,assets/icons/transit/localizations/ru/moscow-metro_m-0-tiny.png&highlight=143c9a,ffffff,e6362e&color=ff000000?scale=1
name=assets/icons/transit/localizations/ru/moscow-metro_ring-1-small.png,assets/icons/transit/localizations/ru/moscow-metro_circle-1-small.png,assets/icons/transit/localizations/ru/moscow-metro_m-1-small.png&highlight=143c9a,ffffff,e6362e&color=ff000000?scale=1
name=assets/icons/transit/quantum/container_shadow-0-tiny.png,assets/icons/transit/quantum/container-0-tiny.png,assets/icons/transit/quantum/train-0-tiny.png&highlight=0,b0ff,ffffff&color=ff000000?scale=1
name=assets/icons/transit/quantum/container_shadow-1-small.png,assets/icons/transit/quantum/container-1-small.png,assets/icons/transit/quantum/train-1-small.png&highlight=0,b0ff,ffffff&color=ff000000?scale=1
text=A&psize=16&font=fonts/arialuni_t.ttf&color=ff330000&name=icons/spotlight/spotlight-waypoint-b.png&ax=44&ay=48&scale=1
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/home-1-small.png&highlight=ff000000,78909c,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/restaurant-1-small.png&highlight=ff000000,f57f17,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/star_shadow-1-small.png,assets/icons/poi/quantum/star_container-1-small.png,assets/icons/poi/quantum/star-1-small.png&highlight=ff000000,cd814b,ffed47&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/library-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/civic_bldg-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/shoppingcart-1-small.png&highlight=ff000000,6d7be3,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/movie-1-small.png&highlight=ff000000,6d7be3,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/generic-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/shoppingbag-1-small.png&highlight=ff000000,6d7be3,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/generic-1-small.png&highlight=ff000000,6d7be3,ffffff&color=ff000000?scale=2
name=assets/icons/transit/quantum/container_shadow-1-small.png,assets/icons/transit/quantum/container-1-small.png,assets/icons/transit/quantum/train-1-small.png&highlight=0,b0ff,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/stadium-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/worship_islam-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/transit/localizations/fr/paris-rail-1-small.png,assets/icons/transit/localizations/fr/paris-rail_inside-1-small.png&highlight=111b8a,ffffff&color=ff000000?scale=2
name=assets/icons/transit/localizations/fr/paris-metro-1-small.png,assets/icons/transit/localizations/fr/paris-metro_inside-1-small.png&highlight=111b8a,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/museum-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/hospital_H-1-small.png&highlight=ff000000,db4437,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/camera-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/road/arrow-1-small.png&highlight=19286a&color=ff000000?scale=2
name=assets/icons/transit/quantum/container_shadow-0-tiny.png,assets/icons/transit/quantum/container-0-tiny.png,assets/icons/transit/quantum/tram-0-tiny.png&highlight=0,b0ff,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/school-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/cemetery-1-small.png&highlight=ff000000,7cb342,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/lodging-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/theater-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/bar-1-small.png&highlight=ff000000,f57f17,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/monument-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/paw-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/transit/localizations/fr/paris-rail-0-tiny.png,assets/icons/transit/localizations/fr/paris-rail_inside-0-tiny.png&highlight=111b8a,ffffff&color=ff000000?scale=2
name=assets/icons/transit/quantum/container_shadow-0-tiny.png,assets/icons/transit/quantum/container-0-tiny.png,assets/icons/transit/quantum/train-0-tiny.png&highlight=0,b0ff,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/bridge-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/historic-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/event_venue-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/worship_temple-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/tree-1-small.png&highlight=ff000000,7cb342,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/note-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/generic-1-small.png&highlight=ff000000,7cb342,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/bank_euro-1-small.png&highlight=ff000000,6d7be3,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/police-1-small.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-1-small.png,assets/icons/poi/quantum/container-1-small.png,assets/icons/poi/quantum/cafe-1-small.png&highlight=ff000000,f57f17,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-2-medium.png,assets/icons/poi/quantum/container-2-medium.png,assets/icons/poi/quantum/ferriswheel-2-medium.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-2-medium.png,assets/icons/poi/quantum/container-2-medium.png,assets/icons/poi/quantum/parking-2-medium.png&highlight=ff000000,8d6e63,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-2-medium.png,assets/icons/poi/quantum/container-2-medium.png,assets/icons/poi/quantum/atm-2-medium.png&highlight=ff000000,6d7be3,ffffff&color=ff000000?scale=2
name=assets/icons/poi/quantum/container_shadow-2-medium.png,assets/icons/poi/quantum/container-2-medium.png,assets/icons/poi/quantum/cafe-2-medium.png&highlight=ff000000,f57f17,ffffff&color=ff000000?scale=2
name=assets/icons/transit/quantum/container_shadow-1-small.png,assets/icons/transit/quantum/container-1-small.png,assets/icons/transit/quantum/bus-1-small.png&highlight=0,b0ff,ffffff&color=ff000000?scale=2
name=assets/icons/transit/localizations/fr/paris-rail-3-large.png,assets/icons/transit/localizations/fr/paris-rail_inside-3-large.png&highlight=111b8a,ffffff&color=ff000000?scale=2
https://maps.gstatic.com/mapfiles/api-3/images/spotlight-poi-dotless_hdpi.png
https://maps.gstatic.com/mapfiles/api-3/images/spotlight-poi_hdpi.png
https://maps.gstatic.com/mapfiles/api-3/images/icon_error.png
https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/lodging-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/cafe-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/generic_recreational-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/bar-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/bus-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/civic_building-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/worship_general-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/museum-71.png
https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png
Static image with hdpi resolution
See scale=2
parameter, scale=4
only available with key for "Google Maps API for Work" Sizes are limited too.
https://developers.google.com/maps/documentation/staticmaps/
Grayscale : ...&style=feature:all|element:all|saturation:-100
Streetview 3D depth
Google maps provide a depth image in a base64 encoded + zlib compressed format (inside XML) for streetview
https://github.com/proog128/GSVPanoDepth.js/tree/master
Google Search
Ignore country, go to http://www.google.com/ncr (No Country Redirect), to disable it, remove cookies
Search for specific country: http://www.google.com/search?hl=en&q=sample+query&gl=uk use hl
for language and gl
(for Geographic Location)
Chrome Web Store
Download Google Chrome extension without installing it
Find the ID of the extension you’re interested in. When on the details page of the extension, it will be something like
bfbmjmiodbnnpllbbbfblcplfjjepjdn
afterhttps://chrome.google.com/extensions/detail/
in the page URLPaste this URL into your browser:
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=38.0&x=id%3D{EXT_ID}%26installsource%3Dondemand%26uc
replacing{EXT_ID}
with the extension ID.You’ll be prompted to save a CRX file. Drag this file to a Chrome window and proceed with installation
Or:
https://addons.opera.com/en/extensions/details/download-chrome-extension-9/
CRX / NEX (Opera)
Find "PK" and remove all bytes before
Open Street Map
OpenStreetMap
#map=12/49.2272/2.5303
(zoom/lat/lng)Maputnik
#11.6/47.3720/8.5420
(zoom/lat/lng)
Vimeo
Link at time: https://vimeo.com/1111111111#t=1m5s
taille standard : 504×404@440Kbps en On2 VP6
taille "HD" : 1280×720@1500Kbps en On2 VP6
API
Require embed src with param api=1
(only for listening messages, not required to send commands)
Add it in with wordpress:
Pause video
Seek video
Listen events
event.data
is a serialized JSON object
Digital Distribution Platforms
Apple Store
Badge:
http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
https://linkmaker.itunes.apple.com/
See also Data/iTunes tips
App infos
Artist or developper URL
App URL
Google Play
Badge:
https://developer.android.com/downloads/brand/en_generic_rgb_wo.ai or https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/docs/downloads/brand/en_generic_rgb_wo.ai
App info
https://stackoverflow.com/questions/22134494/formatting-json-data-using-php
Or scrapper like http://code.google.com/p/google-playstore-api
Or use an unofficial API
https://github.com/splitfeed/android-market-api-php (require a Google account)
https://42matters.com/api/lookup
http://playstore-api.herokuapp.com/playstore/apps/com.toj.gasnow
Developper URL
App URL
Other
Open an app
Windows Phone
App infos
Developper URL
App URL
http://catalog.zune.net/v3.2/en-US/apps/APP_ID/?version=latest&clientType=CLIENT_TYPE&store=Zest
, whereAPP_ID
,CLIENT_TYPE
(optional) isZune+3.0
(Zune HD applications) orWinMobile+7.1
(Windows Phone applications)
Amazon
https://developer.amazon.com/appsandservices/resources/marketing-tools/using-badges https://developer.amazon.com/announcements/tradebrand-guidelines.html
Facebook
Fakes likes, it's harmful: Facebook Fraud - YouTube
How stories are ranked: see [Rank content](Algorithms/Rank content)
Supported locales: https://www.facebook.com/translations/FacebookLocales.xml
https://www.facebook.com/photo.php?fbid={photo_id}
and https://www.facebook.com/{user}/photos/{timeline_id}/{photo_id}/
where 00000000_{photo_id}_0000000000000000000_o.jpg
photo_id
00000000000000000
timeline_id
a.000000000000.000000.00000000000
Default profile picture https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c29.0.100.100/p100×100/10354686_10150004552801856_220367501106153455_n.jpg?oh=e8ca515e48d1bc743308966715634bee&oe=58C66077 https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c59.0.200.200/p200×200/10354686_10150004552801856_220367501106153455_n.jpg?oh=da4eafdad0da0d0958352977771c3fd7&oe=58BE4325 https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c94.0.320.320/p320×320/10354686_10150004552801856_220367501106153455_n.jpg?oh=bc3e9e2ccfd2f54a246e4bfb77b63001&oe=58D3F5DE https://scontent-cdg2-1.xx.fbcdn.net/t31.0-1/c379.0.1290.1290/10506738_10150004552801856_220367501106153455_o.jpg https://scontent-cdg2-1.xx.fbcdn.net/t31.0-1/c379.0.1290.1290/10506738_10150004552801856_220367501106153455_o.png
Default page picture (flag) https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c9.0.32.32/p32×32/399548_10149999285987789_1102888142_n.png?oh=c46263750a4e4abc38892ff8b5ba1547&oe=58C587AD https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c19.0.64.64/p64×64/399548_10149999285987789_1102888142_n.png?oh=1ad605f9d9d0e204554e71ce8637135e&oe=58C38AF9 https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c81.0.275.275/399548_10149999285987789_1102888142_n.png?oh=3b9a562b00802fed00b571fc7d1342bb&oe=58C907A0
Default xxx picture (student) https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c81.0.275.275/580846_10149999285985791_1565762244_n.png?oh=c46928fcbaf3660bd5834a2a48397fdf&oe=58B5F7C8
Default xxx picture (TV) https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c81.0.275.275/404798_10150000700901954_63461675_n.png?oh=d8d8add1bae05a606338c65cb9a4369e&oe=58CC165C
Default xxx picture (music note) https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-1/c81.0.275.275/417197_10149999285992991_711134825_n.png?oh=ac147d4d487b0ead68b4c695d61b6cf1&oe=58D0AEFF
Default app picture (atomic box) https://scontent-cdg2-1.xx.fbcdn.net/t39.2081-0/p128×128/851578_455087414601994_1601110696_n.png https://scontent-cdg2-1.xx.fbcdn.net/t39.2081-0/851578_455087414601994_1601110696_n.png
Setup Facebook Website Application
Note: the SDK is not available (loaded) in Firefox private mode by the Tracking Protection
The following examples will use Facebook Application ID 00000000000
Simply <script src="https://connect.facebook.net/en_US/sdk.js#appId=00000000000&version=v3.2" async></script>
then window.fbAsyncInit = function(){console.log("FB SDK is ready")}
. Additional parameters can be provided, will auto init. So if you do it manually you will get FB.init has already been called - this could indicate a problem
, see also javascript - FB init function gives wrong version error - Stack Overflow. Or use document.createElement("script"); ... window.fbAsyncInit = function(){FB.init({appId: 00000000000, version: "v2.8"}); FB.getLoginStatus(...)}
https://connect.facebook.net/en_US/sdk/debug.js
HTTPS is required, but
localhost
is allowed (but not0.0.0.0
) Requiring HTTPS for Facebook Login - Facebook for Developers Login Security - Facebook Login
For App ID, check it with http://graph.facebook.com/00000000000
. For pages (TL;DR: you have to create an App ID):
https://stackoverflow.com/questions/6997368/facebook-how-to-receive-app-id-for-official-page
https://stackoverflow.com/questions/10339192/how-to-get-app-id-for-an-existing-facebook-page
multiple domains is allowed, but must reflect Website URL (else you will get an error "App domains must match the domain of the Secure Canvas URL, Mobile Site URL, Unity Binary URL, Site URL or Secure Page Tab URL. Please correct these domains: foobaz.com"). Ex.: Website/Site URL = http://www.example.com App Domains = example.fr example.es example.de example.co.uk
Facebook login
Facebook shares and likes count
Without access token:
http://graph.facebook.com/?id=URL&fields=og_object%7Blikes.summary(total_count).limit(0)%7D,share
returns JSON json.share.share_count
With access token:
https://developers.facebook.com/tools/explorer/?method=GET&path=%3Fid%3DURL%26fields%3Dengagement&version=v2.9
Facebook share and like
Simple URL. See Share URLs
Following methods require an Facebook App ID:
Facebook Share button (still works, but depreciated)
Feed Dialog or Share Dialog URL:
Note: share popup with
quote
text and URL of animated gif file ashref
will not displayed exactly the same as shared animated gif URL (ashref
). The playback (play/pause) of the gif is not available (Facebook bug): click open URL. If the gif is not autoplayed (see "Auto-Play Videos" https://www.facebook.com/settings?tab=videos). On mobile the gif is display as standard link.Feed Dialog or Share Dialog from SDK. SDK need to be included, see Setup Facebook Website Application.
Share dialog, which gives people the most flexibility. They can choose where they want to share, including in groups and private messages on Messenger If you want to let someone post a plain text status update without a link attachment, you should use the Feed dialog. If you're sharing photos or videos rather than links, you will need to create a custom interface that lets people post to their own timeline, which requires implementing Facebook Login and requesting the
publish_actions
permission
Note: undocumented parameters: locale=en_US
Metadata:
https://developers.facebook.com/tools/debug/
Stream
(obselete) http://liljosh.com/facebook-page-json-rss-feed/
(obselete)
https://www.facebook.com/feeds/page.php?id=163276271689&format=json
(format=rss20
)
Facebook Graph API
User ID are app scoped/specific: Graph API User
The field username
is no more available. It's possible to get it by https://www.facebook.com/app_scoped_user_id/APP_SCOPED_USER_ID/
(get with Graph API /me?fields=link
) or https://www.facebook.com/USER_ID/
(logged only) redirect to https://www.facebook.com/USERNAME
Check validity of access token: https://graph.facebook.com/me?access_token=ACCESS_TOKEN (return
{"error": ...}
if it's invalid)Extends the validity of the access token (for be used by the server APP): https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=YOUR_ACCESS_TOKEN
Test with Demo application Graph API Explorer, "Access Token" > (button) "Get User Access Token" to select required permissions to test. You can test JS code with https://developers.facebook.com/tools/javascript-console/
Common parameters:
summary=true
is available on{user-id}/likes
,{user-id}/friends
(wheresummary
is always true) to return{"data":[], summary: {"total_count": 131}}
locale
set locale likede_DE
access_token
to set use you access token. Get it via an application https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id={app-id}&client_secret={app-secret} To get a user access token use paramuser_id
anduser_secret
instead. See https://developers.facebook.com/docs/facebook-login/access-tokens/ Ex. of invalid access token:AAACZBLSe4fcoBAFcGMJZAUS9OthIr5o6ZCUySgXYj0nfWX7u08×7h0VZAFFuJJs9LmeWgud2u5ZCEZCeUHZCVIq1Y2j4gjKAjJ0gx5OY9PBihlABJn64njm
limit=xx
is not fixed. Never rely to it for a fixed limit between pages. Ex:limit=500
, but return487
items for page 1 and492
items for page 2.fields
to filder fields. Ex.:me/albums?fields=count,name
: will get onlyid
, photocount
andname
per albumorder=reverse_chronological
works only for comments/me/picture?type=large
but also?width=1000
or?height=1000
(preserve aspect ratio). If both width and height are defined, image will be cropped{page-id}/feed?fields=id,shares,likes.limit(0).summary(true),comments.limit(0).summary(true)
{post-id}?fields=id,shares,likes.limit(0).summary(true),comments.limit(0).summary(true)
Error codes: Using the Graph API
Get infos about a page:
likes/fan count https://stackoverflow.com/questions/29702192/request-to-get-total-count-of-facebook-page-likes-in-v2-3-api
likes
/{object-id}/likes?summary=true
response.summary.total_count
feed https://stackoverflow.com/questions/28204978/facebook-rss-feeds-have-stopped-working/28291957#28291957
To get page categories (paged):
https://gist.github.com/bloudermilk/2173940
Get count of posts, friends, likes and uploaded medias. Use jQuery Deferred (es2016 Promise
like):
About getting the registration date:
No API provide this information. Previously, before app-scoped user-ids, an estimation date could be done based on user ID Then you find the first posts, photos or profile picture: Facebook API: Get all profile pictures - Stack Overflow From 10 year ago, length=1
over 6 month with until
and since
(Unix timestamps) then try 5 year after Note: It's possible to back dating content with backdated_time
: https://developers.facebook.com/docs/graph-api/common-scenarios#backdating
Get age from Facebook user's birthdate
Share an external Animation
Post an url to create a card/push with the animation + a link
GIF: Only posted URL, not file uploaded (in Facebook album)
Video
To get a custom HTML5 player (embeded in Facebook feed), you must be whitlisted. Don't know how.
(need verification) Note: og:video
can be defined multiple times (for types text/html
, application/x-shockwave-flash
, video/mp4
, etc.). Even if it's not a video Note: og:video
, og:video:type
, og:video:width
and og:video:width
should be explicited provided for each format Note: og:video:secure_url
is not required, but og:video
/og:video:url
must use HTTPS Note: fb:app_id
is not required Note: text/html
type it's seem to be reserved to whitlisted domains. No information is available about the process of whitlisting. Custom flash player is still possible (application/x-shockwave-flash
) or use only video/mp4
Note: if the og:video
as text/html
is not valid, Facebook fallback to the first og:video
url will be used as src
for a <video>
(directly in feed) and og:video:type
as type
Note: a div with me-cannotplay
class with a link "Download File" as child Note: based on og:image
file dimensions if width <= ~400 the image is squared and take 1/3 of the post width. Where the title and description take 2/3. If width > ~400 the image will take all the width and only the title and origin are visible (no description) Note: does the size provided (og:video:width
and og:video:height
) have any impact?
2016/12/09: only MP4 and SWF served via HTTPS works. In user feed (desktop), MP4 will be played in native HTML5 player and SWF will be placed in object inside an isolated iframe. On mobile (native app) it's a simple link (not interaction)
It's related with https://www.facebook.com/ajax/flash/expand_inline.php?...
response.dompos[0][3].__html
When you call the debugger to scrap changes on your og:tags of your page, all previous Facebook shares of that URL will still show the old image/video. There is no way to update all previous posts and it's this way by design for security reasons. Otherwise, someone would be able to pretend that a user shared something that he/she actually didn't. — opengraph - Facebook Open Graph not clearing cache - Stack Overflow
https://developers.facebook.com/docs/sharing/webmasters#video
https://developers.facebook.com/docs/reference/opengraph/object-type/video.other
https://stackoverflow.com/questions/30934400/embed-video-iframe-in-facebook-wall
https://stackoverflow.com/questions/8708233/share-html5-player-on-facebook-wall
https://blog.kaltura.com/facebook-now-require-html5-and-fallback-in-open-graph/
http://player.kaltura.com/modules/KalturaSupport/components/share/Share.html
Note: HTTPS is required to be played (and the field og:video:secure_url
? else it's recognized as video, but not displayed as video player)
GIF
Working GIFs:
600 × 400 for 319kB
499 × 499 for 931kB
Interlaced could not work well
The GIF is not working properly if you add quote
using dialog share.
Note: GIF will be cached and converted as MP4
Works ? Else detect the crawler and output the gif instead:
For http://giphy.com/gifs/hot-funny-cartoon-fBEDuhnVCiP16
:
Detect Facebook crawler
Twitter
Fetch tweets
Twitter timeline in true chronological order include retweets (click "Latest" on mobile)
Exemple of complex search: https://twitter.com/search?f=tweets&vertical=default&q=to%3Awaxpancake%20-from%3Awaxpancake%20%28irony%20OR%20ironic%20OR%20%22else%27s%20retweet%22%20OR%20%22have%20found%22%20OR%20%22someone%20i%20follow%22%29%20since%3A2018-06-06%20-from%3Aadambanksdotcom&src=typd
URL: https://twitter.com/i/profiles/show/{user}/timeline/tweets?include_available_features=1&include_entities=1&include_new_items_bar=true
Optional: max_position={last_tweet_id}
Headers:
Response:
Card
Note: Twitter use meta twitter:image
and remove mention to twitter:image:src
, but only the lastest works (or have the precedence). See https://twittercommunity.com/t/twitter-image-src-or-twitter-image/16085/7 Note: Use twitter:image:alt
to provide alternative text content. Equivalent of alt
attribute of an img
element. See Twitter Has Alt Text! (with some caveats) | Adrian Roselli Note: For Summary card with large image, the aspect ratio is 2:1. See Advertiser creative specifications
Note: player card require HTTPS and must be approved. It's composed as an iframe playing a stream (video/audio). twitter:player:stream
support only MP4 (H.264 and/or AAC)
Profile image
Default profile picture: https://abs.twimg.com/sticky/default_profile_images/default_profile_1_400×400.png
where 1
can be changed
Download media
Aka image
https://pbs.twimg.com/media/MEDIA_ID?format=png&name=large
,https://pbs.twimg.com/media/MEDIA_ID.png:large
(.jpg
, without:large
)
Image at maximum resolution, right-click -> View in new tab -> add :orig
after the .jpg
in the URL
Media video:
load:
https://api.twitter.com/2/timeline/conversation/{tweet_id}.json?include_profile_interstitial_type=1&include_blocking=1&include_blocked_by=1&include_followed_by=1&include_want_retweets=1&include_mute_edge=1&include_can_dm=1&include_can_media_tag=1&skip_status=1&cards_platform=Web-12&include_cards=1&include_ext_alt_text=true&include_reply_count=1&tweet_mode=extended&include_entities=true&include_user_entities=true&include_ext_media_color=true&send_error_codes=true&count=20&ext=mediaStats%2ChighlightedLabel
Require headerauthorization: Bearer ....
read the JSON, as
root[0].globalObjects.tweets[${TWEET_ID}].extended_entities.media[0].video_info.variants
Or
load
https://api.twitter.com/1.1/videos/tweet/config/{tweet_id}.json
Require headerauthorization: Bearer ....
read the JSON as
root.track.playbackUrl
Or use jDownloader with https://twitter.com/{user}/status/{tweet_id}/video/1
Direct message
https://twitter.com/messages/compose? recipient_id user ID. Ex: 3309375033 for @AppleSupport
You can send to yourself a direct message. Share this link on Twitter create a special twitter card with "Send a private message" link
Share an animation
GIF or Video
Note: you need to request approval to allow your domain to be allowed to use twitter card player. See twitter card validator
https://github.com/twitterdev/cards-player-samples
https://twittercommunity.com/t/animated-gifs-are-currently-supported-in-twitter-cards-via-the-player-card-but-how/16825/6
Twitter shares
http://opensharecount.com/count.json?source=bubble&url=URL
http://public.newsharecounts.com/count.json?url=URL (detect new shares within 60 seconds)
https://api.twitter.com/1.1/search/tweets.json?q=URL (with valid access token)
https://counts.twitcount.com/button/?url=URL (html for share button + count)
Twitter share and like
Twitter buttons Twitter Publish
Stream
With dnt=false
lang=fr
, this return JSON:
(JS) https://github.com/jasonmayes/Twitter-Post-Fetcher
(PHP) https://packagist.org/packages/j7mbo/twitter-api-php
(JS) https://github.com/jublonet/codebird-js
https://dev.twitter.com/resources/twitter-libraries
https://mikerogers.io/2013/02/25/how-use-twitter-oauth-1-1-javascriptjquery.html
https://umerpasha.wordpress.com/2013/06/13/c-code-to-get-latest-tweets-using-twitter-api-1-1/
GIF
Twitter has a limit of max 15 MB
Detect Twitter crawler
Instagram
To add line breaks in post caption on iOS, copy the caption and past in Note app to add lines break or use a text replacement
To add a text replacement for add a line break you need macOS synchronized with the same iCloud account than the iOS device (on iOS you can't add text replacement with only spaces / line breaks). Copy a line return, then go at System Preferences > Keyboard > Text, add a shortcut.
Note: You need to remove all space before the last line of previous paragraph (automatically added after each hashtags, user names or text replacements)
Download Instagram Stories and Highlights - StorySaver.net - Get the link of the media (from cdninstagram.com)
Pinterest
Pinterest share count
http://api.pinterest.com/v1/urls/count.json?url=$1
, returns receiveCount({"url":"$1","count":0})
(optional: parameter callback
eg. console.log
)
Pinterest share
http://business.pinterest.com/widget-builder/
Detect Pinterest crawler
LinkedIn
Linkedin share count
http://www.linkedin.com/countserv/count/share?url=$1&format=json
returns {"count":1304,"fCnt":"1,304","fCntPlusOne":"1,305","url":"$1"}
LinkedIn share
Parameter mini
is required and must be true
Reddit
Reddit share
Google Calendar
https://calendar.google.com/calendar/event?action=TEMPLATE&text=Title+part&details=Details+part&dates=20180524T190000/20180524T200000&location=Somewhere
Github
Get Markdown of Wiki:
For home page https://github.com/msndevs/protocol-docs/wiki
go to https://github.com/msndevs/protocol-docs/wiki/Home.md
(redirect to https://raw.githubusercontent.com/wiki/msndevs/protocol-docs/Home.md
) For other page https://github.com/msndevs/protocol-docs/wiki/Authentication
go to https://github.com/msndevs/protocol-docs/wiki/Authentication.md
(redirect to https://raw.githubusercontent.com/wiki/msndevs/protocol-docs/Authentication.md
)
Found commit that delete file: https://github.com/{username}/{repository}/commits/{branch}/{filepath}
. Branch could be main
(or master
)
https://api.github.com/repos/{username}/{repository}/commits/{branch}
https://gist.github.com/{gist_id}{/revision_id}{/filename}
(revision_id
andfilename
are optional)https://gist.githubusercontent.com/{gist_id}/raw{/revision_id}{/filename}
(revision_id
andfilename
are optional)https://raw.github.com/{username}/{repository}/{reference}/{filepath}
andhttps://raw.githubusercontent.com/{username}/{repository}/{reference}/{filepath}
https://github.com/{username}/{repository}{/format}/{reference}/{filepath}
format
could beblob
orraw
(shouldn't bereleases
)
Gist
https://gist.github.com/{user}/{id}
https://gist.github.com/{user}/{id}.js
- Script to insert embedded gisthttps://api.github.com/gists/{id}
https://api.github.com/gists/{id}/{version}
Gitlab
Access to API from CI:
curl -s "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/pipelines/${CI_PIPELINE_ID}/jobs?job_token=${CI_JOB_TOKEN}" | jq --arg JOB_NAME "$JOB_NAME" '.[] | select(.name==$JOB_NAME) | .coverage'
GitLab CI/CD job token | GitLab - list of API and method that allow the use of job token
REST API resources | GitLab - all APIs
if API doens't allow job token you need to use a private access token (personal/project/group)
REST API | GitLab -
job_token
instead ofprivate_token
query param orJOB-TOKEN
HTTP header instead ofPRIVATE-TOKEN
Parallelism (matrix) doesn't support variable:
Stackexchange
Aka Stackoverflow, etc.
Short URLs:
Voyage SNCF
https://oui.sncf
Gitweb
Download snapshot: http://{gitweburl}/gitweb.cgi?p={repo};a=snapshot;h=HEAD
Use h=HEAD
or h=
(path hash, from ls-tree
) Or use "snapshot" link
Example: https://gitorious.org/microsoft-qt-interop/microsoft-qt-interop?p=microsoft-qt-interop:microsoft-qt-interop.git;a=summary
https://github.com/git/git/blob/master/gitweb/gitweb.perl
Jira
Scribd
Wikimedia
Aka Wikipedia
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles=%s&format=json&callback=%s
https://www.wikidata.org/wiki/Special:ApiSandbox#action=query&format=json
Contribute:
Gerrit patch uploader - MediaWiki - Simple way to create a patch
Exemple:
List of countries
Wikidata:SPARQL query service/queries/examples - Wikidata - List of present-day countries and capital(s)
SlideShare
Permalink to a slide number: http://www.slideshare.net/.../presentation-name
→ http://www.slideshare.net/.../presentation-name/10
for the slide 10
CONTENTdm
[Download full size image from OLCL's CONTENTdm http://www.contentdm.org/]https://gist.github.com/mems/4739515)
Fashion Anthology bookmarlet
Show all fullres images (without watermark, + inaccessible ones) of a Fashion Anthology gallery in one page and without require any account
Filename pattern %designer_name% %collection% %year% %image_number%.jpg
https://gist.github.com/mems/5a87941e00c8c15954ce
Apple
Apple live stream URL
Found the Apple live stream URL
Open
http://www.apple.com/live/
which redirect to something likehttp://www.apple.com/live/2015-june-event/
Find a loaded script like:
/live/2015-june-event/scripts/2015-june-event.built.js
Open this script and search
p.events-delivery.apple.com.edgesuite.net
. You find something likehttp://p.events-delivery.apple.com.edgesuite.net/15pijbnaefvpoijbaefvpihb06/js_files/event
append to it
/url.json
(details: host + path +url.json
)Open the generated URL
Found an URL like
http://p.events-delivery.apple.com.edgesuite.net/15pijbnaefvpoijbaefvpihb06/m3u8/hls_mvp.m3u8
Now you can watch it in VLC or any other videoplayer that support M3U and MP4(H.264+AAC)!
Previous Apple's website:
[...]
Find a loaded script like:
http://p.events-delivery.apple.com.edgesuite.net/15pijbnaefvpoijbaefvpihb06/js_files/event/url.js
Grab the correct URL
https://gist.github.com/mems/d54ad804d8d8d17d0011
Online cursor editor
Add support of load an image in http://www.rw-designer.com/online-cursor-editor tool (Make CUR file)
https://gist.github.com/mems/5338017
App animations
First exec this in WebDev console for each page, copy in clipboard the iframes src of each videos + title + keywords
Go to https://videos.sproutvideo.com/embed/189bdbb01e1ce7c790/98b77e706be88310, open WebDev console and exec:
ccMixter
Wayback Machine
robots.txt
is retroactive
http://web.archive.org/cdx/search/cdx?url={domain}&matchType={matchType}&output=json&fl=timestamp,original&fastLatest=true&filter=statuscode:200&collapse=original
&from={from}&to={to}
http://web.archive.org/web/{timestamp}id_/{originalurl}
Blog export
Save the RSS / Atom
blogtowp download | SourceForge.net - Ruby script
ruby dialog.rb
Support only the old version of blog-spot See Importer les commentaires d'un blog sous Wordpress (4) - Reedition - nouvelles fonctionnalités + Haut et Fort - jrcourtois: le blog See Sauvegarde Erog et export vers Wordpress (voire vers Blogger) - Iv Oam Blog But get only posts have a category:execute first the tool (will create
files/index.html
and empty fileTheBigFile.xml
)edit files/index.html to add
categorie-0.html">Uncategorized</a>
httrack myblog.com/faq "-admin.over-blog.com/*" "-www.over-blog.com/*" -O "My blog" -s0
- add--update
to update only
RFC
https://datatracker.ietf.org/doc/search/?rfcs=on&name=%s (where
%s
is 2616 for RFC 2616)
Can I use
Notes:
hostname
is used as default name of the dataset if none providedbrowser_name
see an ex. list https://simpleanalytics.com/simpleanalytics.com.json?version=5&fields=browser_namestype
:mobile
ordesktop
os_name
:(not set)
,Windows
,iOS
,iPad
,iPhone
,iPod
,Android
browser_version
andos_version
can be empty (""
) ornull
webpack:///src/components/ciu-sa-stats-import.ts
andwebpack:///src/utils/stats-import-utils.ts
findBrowserVersion
Outlook
Execute in a console of Outlook page:
https://outlook.office.com/mail/deeplink/compose?to={to}&subject={subject}&body={body}&cc={cc}
https://outlook.office.com/owa/?rru=compose&to={to}&subject={subject}&body={body}&cc={cc}
Register protocol handler
Gitlab
by default gitlab ci runners uses
set -o pipefail
give "ERROR: Job failed: exit status 1"trap 'rc=$?; echo "Error code $rc line $LINENO: $BASH_COMMAND" >&2; exit $rc' ERR
curl --silent --header "PRIVATE-TOKEN: $CI_API_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/changelog?version=$CI_COMMIT_TAG" | jq --raw-output .notes > release_notes.md
wget --header="JOB-TOKEN: $CI_JOB_TOKEN" ${CI_API_V4_URL}/projects/1234/packages/generic/my_package/0.0.1/file.txt
Medium
Last updated