API今日もまたコーディング。Codingが大好きだから。400など、いくつかのエラーを乗り越えたので、覚え書き。APIPHP権限が間違っているAPIトークンでルックアップを変更しようとしているルックアップは別アプリを参照するため、そちらの権限も必要になる。APIトークンはアプリ単位でしか権限を持たないため、不足。ルックアップフィールドの登録更新で、APIトークンが使えないのはアプリ単位の発行でアプリ内の操作しか権限指定できないためです。ルックアップにはコピー元の閲覧権限とコピー先の登録or更新権限が必要なため、これらの権限を有するユーザーによるパスワード認証が必要となります。APIでルックアップキーフィールドの登録をしたいパスワード認証を追加する。パスワード認証はこんな感じ。APIの認証設定についてセキュアアクセスで、APIトークンを使おうとしているセキュアアクセスを設定している場合、APIトークンでの認証はエラーになります。networkリクエストヘッダ関連methodのGET、POST、PUTを間違えているそれぞれ役割が異なるので注意。値の取得にContent-typeを指定してしまっている。指定しているとエラーになる模様。値の設定が間違っている値のタイプが違っている数値に文字列を入れようとしている、など。厳密な型認識をしているわけではないので、数値に"0"を入れるくらいなら許容してくれる模様。一度ECCUBE3で、getOrderDate()の戻り値をそのまま受注日付に放り込んだら、PHPのDATETIME型だったことがあった。道理でkintoneが受け付けないわけだ。この場合はformat('Y-m-d')などを使って、kintoneが認識できる日付に変換してやる。$order->getOrderDate()->format('Y-m-d');ドロップダウンの値にない値を設定しようとしているドロップダウンの値にない値は受け付けない。kintoneを便利に使う方法を紹介するブログルックアップフィールドの参照先を替えてから、ということらしい。別テーブルを変更→ルックアップフィールドを書き込む、という順番らしい。値をコピーしている(リレーショナルではない)んだから、そこで整合をとらなくても......という気もするけどまあそういう仕様なら仕様がない。存在しないiレコードdをGETしようとしているkintoneのデータをappIdとidで取得しようとしているが、実在しないレコードIDを指定してしまうと、404エラーが戻る。idが連番なのでなんとなく何を指定してもいいかと適当に指定したら、idは欠番になるんだった。データの構造が間違っているリクエストで投げるデータはこんな感じでいいみたい。テーブルのデータを配列で作ってjson_encodeしているサンプルがなかなかなかったので。);テーブルが入ると構造が面倒。エンジニア文章、写真、デザイン、コーディングまで一通りこなす自走式フルスタックブロガー。読者になる@mogami74をフォローはてなブログをはじめよう!mogami74さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。