APIコールの実行
APIコールの実行
BoxアプリケーションとiOSアプリケーションがBox iOS SDKを使用して作成、設定されたら、初めてのBox APIコールを実行できるようになります。
空のiOSアプリケーションを使用して、現在認証されているユーザーの名前を取得するためのリクエストをBoxに対してトリガーするボタンを作成します。
ボタンの作成
XcodeのSwiftアプリケーション内で、ContentView.swift
を読み込みます。ファイルの先頭にContentView
のstruct
が表示されます。その中には、アプリをエミュレータで実行した場合にiOSアプリケーションに出力される基本の文字列があります。
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello, World!")
}
}
最初に、現在のユー ザーを取得するための呼び出しをトリガーできるように、Text
の出力行をボタンに置き換えます。その行を以下のボタンに置き換えます。
Button(action: {
// Perform some action
}) {
Text("Click to get current user")
}
.padding(10)
.cornerRadius(20)
.foregroundColor(.white)
.background(Color.blue)
次の手順では、Boxからユーザーの詳細を取得するアクションをボタンに追加します。
APIコールのボタンアクションの追加
ユーザーがボタンをクリックしたときに、ユーザーの詳細が取得されるようにします。そのためには、Box iOS SDKのインポートを追加することと呼び出しを実行するボタンアクションを追加することという2つの処理が必要です。
ContentView.swift
ファイルの先頭に、他のimportステートメントとともにimport BoxSDK
を追加します。
次に、現在はコメントのプレースホルダがあるボタンアクション内に、現在のユーザーを取得するためのiOS SDKへの呼び出しを追加します。APIコールが完了すると、開発者コンソールに認証メッセージが出力されます。実装を容易にするため、処理をブロックするsleep(5)
コールを配置しています。これは、リクエストが完了するのに十分な時間をとることで、Box iOS SDKから呼び出しを実行できるかどうかをテストするためです。
{{YOUR DEVELOPER TOKEN}}
を実際の開発者トークンに 置き換えます。
let client = BoxSDK.getClient(token: "{{YOUR DEVELOPER TOKEN}}")
client.users.getCurrent(fields:["name", "login"]) { (result: Result<User,
BoxSDKError>) in
guard case let .success(user) = result else {
print("Error getting user information")
return
}
print("Authenticated as \(user.name)")
}
sleep(5)
iOSエミュレータでサンプルアプリケーションをビルドして実行します。
アプリケーションがエミュレータに読み込まれると、作成したボタンが表示されます。そのボタンをクリックしてAPIリクエストを開始します。
Xcodeの開発者コンソール内にAPIリクエストとレスポンスが表示されます。最後の行には、指定したユーザーのprintステートメントが表示されています。
◁ Status code: 200: no error
◁ Headers:
◁ Cache-Control, Value: no-cache, no-store
◁ BOX-REQUEST-ID, Value: 1c55151238444132eca16b4c2346d005
◁ Transfer-Encoding, Value: Identity
◁ content-type, Value: application/json
◁ Connection, Value: keep-alive
◁ Strict-Transport-Security, Value: max-age=31536000
◁ Body: {"type":"user","id":"123456789","name":"Test
User","login":"testuser@test.com"}
Authenticated as Optional("Test User")
これで、Box iOS SDKの設定が完了し、Box APIへの最初の呼び出しを実行できました。
まとめ
- 空のiOSアプリケーションにボタンを追加しました。
- iOS SDKを使用して現在のユーザーを取得するリクエストを追加しました。