接下来将实作一个Flutter Plugin 来上架至pub.dev,为整合Instagram 基本显示 API在Android 以及iOS 的功能,此API 使用规则都在官方文件有介绍。
首先欲使用此Instagram Basic Display API,使用者必须先照官方文件取得INSTAGRAM_CLIENT_ID、INSTAGRAM_CLIENT_SECRET and REDIRECT_URI 资讯,并储存在Android 以及iOS端来使用,所以我们在Plugin 上也要设计Android 和iOS 储存这些机密资讯的方法。
我们需要使用者在android专案里,建立一个secret.properties
,来为他们的专案设定这些资料,如下:
INSTAGRAM_CLIENT_ID = "388938XXXXXXXXX"
INSTAGRAM_CLIENT_SECRET = "f81e7feaXXXXXXXXXXXXXXXX"
REDIRECT_URI = "https://XXXXXXXXXXXX"
而在Plugin 里,我们就会在build.gradle
引用Instagram base display api 所需的资料
def secretPropertiesFile = rootProject.file("secret.properties")
def secretProperties = new Properties()
secretProperties.load(new FileInputStream(secretPropertiesFile))
android {
compileSdkVersion 30
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
minSdkVersion 23
buildConfigField("String", "INSTAGRAM_CLIENT_ID", secretProperties['INSTAGRAM_CLIENT_ID'])
buildConfigField("String", "INSTAGRAM_CLIENT_SECRET", secretProperties['INSTAGRAM_CLIENT_SECRET'])
buildConfigField("String", "REDIRECT_URI", secretProperties['REDIRECT_URI'])
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
而在iOS 端我们需要使用者建立 Xcode Configuration Files:Secrets.xcconfig
INSTAGRAM_CLIENT_ID = "388938XXXXXXXXX"
INSTAGRAM_CLIENT_SECRET = "f81e7feaXXXXXXXXXXXXXXXX"
REDIRECT_URI = "https://XXXXXXXXXXXX"
之後在Plugin 里Info.plist
就会去读取Instagram base display api 所需的资料
<key>INSTAGRAM_CLIENT_ID</key>
<string>$(INSTAGRAM_CLIENT_ID)</string>
<key>INSTAGRAM_CLIENT_SECRET</key>
<string>$(INSTAGRAM_CLIENT_SECRET)</string>
<key>REDIRECT_URI</key>
<string>$(REDIRECT_URI)</string>
>>: 18. PHPer x API document x Swagger API
在写程序时,回圈是经常使用到的工具,他可以重复执行同样的工作,直到条件式不符合时跳出回圈,执行下一个...
slate 将 typescript 的型别扩充相关的内容都集合在 interfaces/cust...
类是通过class关键字来定义的,是对某个物件的定义,包含有关物件名称、方法、属性和事件,不过实际上...
Abstract 许多开发者势必会遇到一种状况,就是在上线前势必会先放到测试主机进行测试,我们称之开...
因 JavaScript 在执行阶段时,型别可不断转换,而这些型别的转换又可分为 明确的强制转型,以...