Skip to content

groupher/ex_aliyun_openapi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExAliyun.OpenAPI

Module Version Hex Docs Total Download Last Updated

Description

ExAliyun.OpenAPI supports aliyun openapis:

  • CPS(移动推送服务)
  • STS(短期访问权限管理)
  • SMS(短信服务)
  • AFS(人机验证)
  • CodeUp(云效任务管理)
  • GeoIP(查询 IP 地理位置)
  • more to be supported

Installation

If available in Hex, the package can be installed by adding ex_aliyun_openapi to your list of dependencies in mix.exs:

def deps do
  [
    {:ex_aliyun_openapi, "~> 0.8"}
  ]
end

Configuration

You should add configs for your services in this way.

config :ex_aliyun_openapi, type,
  access_key_id: "YOUR CPS ACCESS KEY ID",
  access_key_secret: "YOUR CPS ACCESS KEY SECRET"

type support [:cps, :sts, :sms, :global_sms, :afs, :codeup, :geoip]

Call the apis

You can find the api params in https://help.aliyun.com. Then you can choose the service, and just put the params to it.

params = %{
  "Action" => "AssumeRole",
  "RoleArn" => "**YOUR RoleArn**",
  "RoleSessionName" => "default",
  "DurationSeconds" => 3600,
}
ExAliyun.OpenAPI.call_sts(params)

# or

ExAliyun.OpenAPI.call_sts(params, access_key_id: "ID", access_key_secret: "SECRET")
params = %{
  "Action" => "PushNoticeToAndroid",
  "AppKey" => "**YOUR AppKey**",
  "Target" => "DEVICE",
  "TargetValue" => "**YOUR device_id**",
  "Title" => "TEST title",
  "Body" => "Hello, this is the notice body"
}
ExAliyun.OpenAPI.call_cps(params)

# or

ExAliyun.OpenAPI.call_cps(params, access_key_id: "ID", access_key_secret: "SECRET")

To add more services to this repo

  1. You should add the specific function into ex_aliyun_openapi.ex.
  2. Complete the corresponding unit tests.

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%