CozeのX API(無料)を使ってみよう！(以下の通りに作業すれば使えるようになります！)

<aside>
👋 CozeのX APIの知名度が低いので、資料にしてみました。
どんどん活用しましょう
</aside>

# Notionで同じ説明をしてます。
https://thundering-newt-254.notion.site/Coze-X-API-15dfcc91a54e8029b97ff80e557fb86a

# Cozeの使い方

Youtube解説 : 
https://www.youtube.com/watch?v=HknvkvYBC64

1. ログインしましょう。
    
    URL : https://www.coze.com/
    
    画面右うえの「Get started」をクリック
    
    Gmailなら簡単にログインできます。
    
2. 左メニューのWorkspaceをクリック
    
    ＝＞すぐ上の右にある「Library」をクリック
    
    ＝＞画面右上の紫の「＋ Resources」をクリック
    
    ＝＞すぐ下に「Workflow」が表示されるのでクリック
    
    ＝＞「Workflow name」と「**Workflow description**」に、X_APIなどと入力します。右下の紫の「Confirm」をクリック
    
    このような画面になります
        
3. ここに、X APIを表示させます。
    
    スタートブロックの右側の薄紫の点をクリック
    
    ＝＞右側にボックスが表示されるので、右上の「Plugin」をクリック
    
    ＝＞Add plugin画面に変わり、左上にSearchボックスが表示されるので、（１）半角で「x」と入力します。
    
    ＝＞（２）Xが表示されるので、右側のボタンをクリックして下に画面を開きます。
    
    ＝＞（３）「searchTweet」をAddします
    
    
4. 一旦このようにブロックをつなぎます
    
    Xのブロックの右側の紫の点をクリックして、そのままENDの点までドラッグすればOK
    
    
5. Startブロックをクリックして設定をします
  
6. seachTweetをクリックして設定をします
       
7. Endをクリックして設定をします
       
8. ワークフローができましたので、テストします
    
    以下のように入力して、緑の「Test run」をクリック
        
9. このようになります
        
10. ブロックのにSucceedと表示されます
    
    ＝＞Endブロック下のDisplay resultをクリックします
    
    こうなります
        
11. テストOKですので、画面右上の「Publish」をクリック
    
    しばらくすると以下の画面に変わります。
    
12. 続いて、API化します。（他のアプリから活用するためです）
    
    url : https://www.coze.com/open/oauth/pats
    
    URLをクリックします。
    
    ＝＞以下の右上の「Add token」をクリックしてトークンを取得します
       
    以下のように設定して、右下の「Confirm」をクリック
    
13. トークンの設定ができたので、次の画面でトークンをコピーします（右下の■をクリックします）
    
    コピーしたトークンはメモ帳などに、貼り付けておきます。
    
    この例では
    
    pat_js6zWaCrSZcXdy87GHv5cANNiBSlQhnbipPTSv5ddxceIwZtWJJW2nYOJrQ8g9CG
    
    です
        
14. 続いて、curlでAPIを呼び出す準備をします。
    
    URL : https://www.coze.com/docs/developer_guides/workflow_run?_lang=en
    
    ここへアクセスします。
    
    画面の下の方にある、「**Request sample**」の、Run workflow in work space library 側のcurlコマンドをコピーします

```
curl --location --request POST 'https://api.coze.com/v1/workflow/run' \
--header 'Authorization: Bearer pat_hfwkehfncaf****' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--header 'Host: [api.coze.com](http://api.coze.com/)' \
--header 'Connection: keep-alive' \
--data-raw '{
"workflow_id": "73664689170551*****",
"parameters": {
"user_id":"12345",
"user_name":"George"
}
}'
```

以下のように修正します。
    
修正ポイントは    
--header 'Authorization: Bearer pat_hfwkehfncaf****' \
"workflow_id": "73664689170551*****",
"user_id":"12345",
"user_name":"George"
です。
    
--header 'Authorization: Bearer pat_hfwkehfncaf****' \
patから始まる部分を、先ほど取得したトークンに変更します
    
"workflow_id": "73664689170551*****",
workflow_idは、自分で作成したワークフローを開き、
URLの右側のworkflow_id=の右側の数字を入力します
この例だと　7449332097821900807　です
    
"user_id":"12345",
は、ホーム画面の左したのボタンをクリック
    ＝＞Settingをクリック    
    Settings画面を下にスクロールして、UIDの数時をコピーします    
    この場合だと　7449289060470408193　です
    
"user_name":"George"は不要です。
input には、検索したい言葉を入力します
input_typeには、Top , Latest , People , Media , Listsのいずれかを入力します。WEBやアプリの検索時と同じ選択肢だと思います。 
    
最終的なcurlコマンドは以下です
しばらく動く状態で放置しますので、ご確認ください。
私の環境で動いた例（Git Bash）
```
curl --location --request POST 'https://api.coze.com/v1/workflow/run' \
--header 'Authorization: Bearer pat_js6zWaCrSZcXdy87GHv5cANNiBSlQhnbipPTSv5ddxceIwZtWJJW2nYOJrQ8g9CG' \
--header 'Content-Type: application/json' \
--header 'Accept: /' \
--header 'Host: api.coze.com' \
--header 'Connection: keep-alive' \
--data-raw '{
"workflow_id":"7449332097821900807",
"parameters":{
"user_id":"7449289060470408193",
"input":"dify","input_type":"Top"
}
}'
```    
WINDOWS11　コマンドプロンプト）
※１行で書くのがポイントです。

これは、改行などがあると動かないので注意でが必要です。
```
curl --location --request POST "https://api.coze.com/v1/workflow/run" --header "Authorization: Bearer pat_js6zWaCrSZcXdy87GHv5cANNiBSlQhnbipPTSv5ddxceIwZtWJJW2nYOJrQ8g9CG" --header "Content-Type: application/json" --header "Accept: /" --header "Host: api.coze.com" --header "Connection: keep-alive" --data-raw "{\"workflow_id\":\"7449332097821900807\",\"parameters\":{\"user_id\":\"7449289060470408193\",\"input\":\"dify\",\"input_type\":\"Top\"}}"
```
    

以上