搜尋此網誌

2022年9月28日 星期三

Http Post application/form-data 的換行

緣起:


    昨天成功把 Facebook API 的 PO 文功能加到網頁上,今天在做上傳圖片+貼文的功能,要用 C# 寫 POST 的 application/form-data,Request 的 Body 部份我又忘了哪些地方要加一個 \r\n,哪些地方要加兩個 \r\n ,寫程式時就在那邊排列組合一直試,try catch 了好幾十次的 400 error,真的 TM 有夠哭,所以我想特別寫一下來記錄,免得下次要用時又忘。

我堂哥請我今天中午到附近的 7-11 跟人面交,這是他買的鏡頭。

2022年9月27日 星期二

C# HttpWebRequest POST x-www-form-urlencoded

緣起:


    今天下午開始正試把那些 API 的程式放到專案裡 (雖然是開個新的頁面來做),在用 C# 做 Facebook API 的 PO 文,雖然之前有紀錄,不過那是用 POST Man 做的,之前 C# 寫的 Twitter API PO 文,POST ContentType 使用的是 application/json 跟 multipart/form-data,沒有用過 application/x-www-form-urlencoded,今天在寫 C# 時有點卡卡的,所以想記錄一下它的寫法。

Instagram API 發佈貼文

緣起:


    接續這篇文章,拿到 user id 後,對於 Instagram 的操作就用 Faceboook API 的那套就行,重點就是 APP 的權杖跟 user id,你也可以把短期的使用者權杖按照之前文章講的,把它換成長期的權杖,方便之後的操作。

成功 po 的文

    這邊介紹了使用 API 在 Instagram PO 文的步驟,向 media endpoint 發送請求,附加圖片的 url,創造一個 container -> 取得 container id -> 用取得的 id 向 media_publish endpoint 發送請求 -> 完成。

    PS : 你的 APP 記得要加 instagram_content_publish 的權限

    使用 API 來 PO 東西有下面的限制


    不能送限時動態 (story)、不能傳到 Instagram TV (這啥?)、每個帳號每天最多只能用 API 傳 25 則貼文 (哭啊)

2022年9月26日 星期一

Instagram API 取得使用者 id

緣起:


    今天開始研究 Instagram 的 API,Instagram 現在是 Facebook 旗下的產品,我想說,既然我都會弄 Facebook 的 API 了,而且 Facebook API 的那些 APP 也有 instagram 的權限能設定


    那 Instagram 的 API 也差不多就那樣吧,我只要在 Facebook Developer 弄個 APP,然後給 APP 需要的權限,在 Graph API 按下 Generate Access Token 後,它就會跳出一個要我 instagram 授權的畫面 (我的 instagram 是用 fb 註冊的),完成後就會產生一個權杖,我就可以拿著那個權杖來對 Instagram 的 API 做存取,簡簡單單的完成任務


    結果沒我想的那麼簡單,我發現對於 Instagram API endpoint 的存取,都會需要 user id 的欄位,那個 user id 要怎麼找,我在 google 上怎麼查都查不到,我也試了這邊提到的所有方法,全都失敗,走投無路之下,我就回去把官方的 Instagram API 文件從最基本的看起,最後發現,原來使用 Instagram 的 API 會需要

    你的 Instagram 要建立創作者或商家帳號 -> 你要用你 Facebook 帳號創立一個粉絲專頁 -> 建立一個 Facebook API 的 APP,給它管理粉專的權限,並將它加到你創立的粉專 -> 在你的粉專加入你 Instagram 的創作者或商家帳號

    沒錯,步驟很麻煩,我做到後來都忘了我是設定了哪些東西後才成功的,所以我在寫這個文章時,會順便把我印象中的動作都做一次,邊做邊紀錄。

2022年9月23日 星期五

Facebook API 上傳、取得 Album 圖片、PO 文同時附加多張照片

緣起:


    Json 搞定了,可以解析 Facebook API 回傳的 json 字串,取出裡面的 access_token,再來就是處理圖片。在這之前,先補上自己寫的 C# 程式 github 連結,程式的功能是利用長期權杖來取得粉絲專頁的權杖。

連結


2022年9月22日 星期四

C# NewtonSoft.Json 解析 json 字串

緣起:


    突然想到,我的程式如果要處理那些 Facebook API 回傳的資訊的話,我必須要有方法能解析那些 json 的字串,所以今天在開始研究 API 前,我想先學會 C# 解析 json 的方法。


2022年9月21日 星期三

Facebook API 在粉絲專頁PO文

緣起:


    接續這篇文章,拿到粉專的權杖後就能開始做事情,就來個最基本的 po 文字


Facebook API 取得短期、長期、粉絲專頁權杖

緣起:


    Twitter API 的研究算是造一段落了,所以今天開始研究 Facebook 的 API,這個東西我之前有稍微碰過,那時是教授請我做個跟 FB 還有 LINE 連結的管理購物平台,但因為是非強制性的,所以在我稍微卡關後就沒繼續研究下去了。現在我必須打敗這東西,這可是我的工作,總不能說句我不會後就擺爛 (老闆:you are fired)。

    我感覺我在研究完 Twitter API 後,對這種第三方 APP 跟 OAuth 的概念有很多的進步,今天在看 Facebook 的 API 還滿快的,說實在的,Facebook 的 API 使用比起 Twitter 或 LINE 的 API 真的是雜很多,Facebook 的功能太多,但我今天上午還是成功研究出它 API 的使用方法。

2022年9月20日 星期二

C# Twitter API 上傳圖片

緣起:


    接續這一篇,今天滿幸運的,上午時就把圖片上傳 Twitter 的 C# 程式搞定,面對那個看起來有點複雜的 form-data 居然沒卡太久,真是可喜可樂。

發現沒什麼封面圖能放,所以就放我昨天買的麻糬

2022年9月19日 星期一

Twitter API 上傳圖片並加入 Tweet

緣起:


    今天上午在試跑上個禮拜寫好的 C#,結果又遇上 authorization 的問題,上次好像不小心把一些東西給改掉,花了不少時間才把錯給找出來。今天下午有研究出上傳圖片的方法,滿開心的,記錄完後要繼續研究把它寫成 C# 程式來運作。


2022年9月16日 星期五

C# Twitter API 發送 Tweet

緣起:


    接續這篇,今天上午弄好 signature 後,下午接著繼續研究怎麼用 C# 把我的那些 OAuth 資料送到 Twitter API 那邊,過程還算順利,只有一個地方卡比較久,就是沒把 hash 出來的值做 base64 的編碼,導致在傳 http 時一直出現 401 的 Exception。



C# 產生 Twitter API OAuth1.0 的 signature

緣起:


    好的,本來這東西我昨天應該就該弄好的,但因為發生了點事,導致我那天心情都很低落,整天都在 LINE 的親友群上跟家人們諮詢 (當了一天的薪水小偷),不過別擔心,我撐過去了,Anyway,今天又有進展了,續這篇文章,雖然能用 PostMan 送 tweet 了,但我需要用 C# 寫程式來做這件事,Request Header 有一個很重要的值,叫 oauth_signature,他必需經過計算才能得到。

    官方文章有很詳盡的教學,我都是照著這篇文章做的。

2022年9月14日 星期三

Twitter API 發送 Tweet

緣起:


    我工作的專案最近需要加個功能,就是在系統上貼文時,我們系統所使用的 LINE、Twitter、FB 帳號也能同步分享貼文的連結,所以我開始研究那些社群平台的 API 要怎麼使用。LINE 跟 FB 的 API 之前有摸過,FB 那時有碰到問題卡關,之後就沒繼續研究下去了,這次有機會再跟它們交手,希望能透過工作的壓力來突破那些困難。Twittter 的 API 我還沒碰過,所以先研究它,這兩天也有玩出一點成果,寫個文章來記錄自己的發現。