iT邦幫忙

0

Firebase專案-伺服器推播用Asp.net (VB) 取得BearerKey驗證

  • 分享至 

  • xImage
  •  

在上次為了更新Firebase專案的FCM發送ServerKey登入方式
照著Google提供的語言,使用Node.js取得隨機BearerKey來推播發送~
這次推敲程式碼邏輯~成功改成用Asp.net(VB)方式了~
不用繞圈去自架Node.Js伺服器,再去取得BearerKey丟回老舊主機來發送了。

上次文章連結:
https://ithelp.ithome.com.tw/articles/10318143

這幾天想著是否Google搜尋一下~
看有人是否有Asp.net的BearerKey設定方式
雖然我知道現在都是C#的天下~早就沒有VB身影了~
無奈專案就是VB開發的~
去改成C#也不合理(老闆才不給你時間改呢)

於是在Google找到符合我需求的網站
關鍵字:ASP bearer FCM
網站:Push Notification From C# .Net to Android Using FCM HTTP V1
https://www.c-sharpcorner.com/article/push-notification-from-c-sharp-net-to-android-using-fcm-http-v1/

於是我照這網站文章看了一遍
重點在於這個dll檔案
https://ithelp.ithome.com.tw/upload/images/20230923/20061369YiH0cmUXLC.png

於是我到專門下載dll檔案的網站,將檔案放到 Bin 資料夾
網站:DLLme
https://www.dllme.com/
https://ithelp.ithome.com.tw/upload/images/20230923/20061369UtfDGbOr7f.png

下載主要這三個檔案
Google.Apis.Auth.dll
Google.Apis.Core.dll
Newtonsoft.Json.dll

另外要注意下載dll的版本編號,
Google.Apis.Auth 指定為 1.60
Google.Apis.Core 指定為 1.60
Newtonsoft.Json 指定為 13.0
https://ithelp.ithome.com.tw/upload/images/20230923/20061369Deq47riqTI.png
https://ithelp.ithome.com.tw/upload/images/20230923/20061369VAstbHf0RU.png
https://ithelp.ithome.com.tw/upload/images/20230923/20061369V2ZhOA3BtW.png

因為之前測試的時候~下載版本比較高的時候~
出現命名空間的成員不存在(因為新版dll已經移除)
所以下載舊版dll才是正確的@_@"

最後去將他的C#程式碼,轉換成VB格式的程式碼
有變更一些程式碼,將網頁開頭引入的參考,直接改為不省略開頭使用。
如下

<%@ Page Title="" Language="VB" validateRequest="false" %>
<% 
    Dim FileName As String = System.Web.Hosting.HostingEnvironment.MapPath("~/FCM_Key.json")

    Dim scopes As String = "https://www.googleapis.com/auth/firebase.messaging"
    Dim BearerToken As String = ""
    
    Using stream As Object = New IO.FileStream(FileName, IO.FileMode.Open, IO.FileAccess.Read)
        BearerToken = Google.Apis.Auth.OAuth2.GoogleCredential.FromStream(stream) _
        .CreateScoped(scopes) _
        .UnderlyingCredential _
        .GetAccessTokenForRequestAsync() _
        .Result()
    End Using

    Response.Write(BearerToken)
%>

https://ithelp.ithome.com.tw/upload/images/20230923/20061369dKHWwZHt0X.png

將程式碼丟到伺服器執行後,成功從Google回傳Bearer Key
https://ithelp.ithome.com.tw/upload/images/20230923/20061369VcOypGlA3w.png

最後將原先的內部IP的自架主機,改成跟網站同主機的子網域網站存取Bearer Key完成!
https://ithelp.ithome.com.tw/upload/images/20230923/20061369ZXD26HuA2J.png

終於解決VB舊語言的程式碼不支援問題了@_@a


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言