リポジトリにデータファイルを置き、obnizプログラムからアクセスできるか



  • obnizのプログラム間でデータのやりとりをしたい。
    obnizのクラウドのリポジトリにデータファイルを置き、obnizのEvent及びHTMLからRead/Writeする方法を教えて下さい。


  • administrators

    @Google-Homer さん

    リポジトリにデータファイルを起きたい場合、こちらのAPIを使用します。
    https://obniz.io/doc/cloud_repository

    jsonファイルで保存する場合、具体的にはこのように書きます。

    ・データ取得

    var filename = "xxx.json";
    var data = await fetch('/users/me/repo/'+ filename ,{ method: "GET", credentials: "include" }).then(res=>res.json())
    

    ・データ保存

    var data = { key:"value"};
    var filename = "xxx.json";
    var form = new FormData();
    form.append('file', new Blob([JSON.stringify(data)]), filename);
    
    await fetch('/users/me/repo/'+ filename,{
            method: "POST",
            body: form,
            credentials: "include"
    })
    

    注意点として、

    1. 使用しているブラウザがログインしている必要があります。
    2. 保存したファイルはマイページから見れます。
    3. 常に上書きなので、データを追加したい場合はデータ取得→データを追加→全体を保存 としてください


  • ありがとうございました。
    Eventではだめなのですね。
    複数のプログラムから同時にアクセスした場合、何らかの排他かかりますか?


  • administrators

    @Google-Homer さん

    Eventでも同じように使うことができます。
    同時にアクセスした際に排他はかからず、タイミングの微妙な前後で順番に実行されれます。



  • 「使用しているブラウザがログインしている必要があります。」
    この記述でEventでは不可と推測したのですが、変な理解になってますかね?


  • administrators

    @Google-Homer さん

    使用しているブラウザがログインしている必要がありますが、
    Event時はこちらでログインと同様のことをしておりますので使うことができます。


 

Recent Projects

  • @nak435 かしこまりました。よろしくお願いします。

    read more
  • @Yuki-Sato さん、

    外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    今週末に確認しますので、お待ちください。

    read more
  • @nak435 時間がかかってすいません、

    なんとか3.3vをgndにつないでFlick Largeを動かしたかったのですが、うまく動かすことができなかったです。
    3.3vをgndを繋がずに接続するというのはライブラリで推奨して伝えることは難しいと思ってます。

    Flick LargeでなくFlick Hatの方で、外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    よろしくお願い致します。

    read more
  • @nak435 ありがとうございます。
    接続は3.3vのgnd以外同じでした。
    エラーはそのせいかもしれませんが、しかし電気的にはgndを繋がない場合3.3vとしてうまく供給できないはずなのでそこが不思議です。

    教えていただいたプログラムの部分を修正して試してみたいと思います。
    また少し時間がかかりそうなのですが、早めに試したいと思います。

    引き続きよろしくお願い致します。

    read more