250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- git
- Python
- Laravel
- NextJS
- chatGPT
- Setting
- pagination
- polygon
- 공연티켓
- nft
- netfunnel
- React
- metamask
- 회고
- nginx
- PM2
- node
- 배포
- threejs
- Remix
- jquery
- 블록체인
- CSS
- exceljs
- Kaikas
- 발행
- miniconda
- nodejs
- 라라벨
- Ai
Archives
- Today
- Total
박주니 개발 정리
pinata 데이터 제거 방법 본문
728x90
반응형
최종본
pinata_api_key, pinata_secret_api_key는 pinata 적용할 때 사용한 api key와 비밀키를 넣으시면 됩니다.
- 추가 설명)
- 공식문서 방식으로 적용을 하면 headers에 'Authorization': 'Bearer PINATA JWT' 를 그대로 놓으면 당연히 400에러가 발생될 수 밖에 없습니다.
- chatGPT에 질문에 의한 답변으로 코드를 작성을 하면 The provided route does not match a valid Pinata endpoint 보통 이 에러는 hash된 값을 제대로 전달 안할 때 발생되는 것을 볼 수 있습니다. 그리고 공식문서와 비교를 했을 때 api 부분에 pinnint/unpin으로 접근을 하는데 chatGPT가 알려준 방식은 /data로 접근을 하는 것을 볼 수 있는데 그 방식은 공식문서에서 확인해보니 get을 할 때 사용하는 방식으로 보여졌습니다.
- 최종적으로 url 방식은 공식문서를 적용을 했고 headers에 적용한 방식은 chatGPT 방식을 활용해서 해결했습니다.
- deleteHash(pinata hash value) 에 대한 설명
- pinata hash value를 의미하는 것은 예를 들어서 https://crepas.mypinata.cloud/ipfs/QmXcm4ynFwJVTR5JpyvXQ9vxy3LBaJSpzxuRbLijUWnP5K 제가 pinata를 이용해서 저장을 했을 때 /ipfs/{hash value} 즉 ipfs/ 다음에 나오는 값은 hash된 값입니다. 그래서 전달할 때에는 QmXcm4ynFwJVTR5JpyvXQ9vxy3LBaJSpzxuRbLijUWnP5K 이 값만 전달되게 javascript에서는 split를 하든 php에서 explode 사용해서 전달하시면 됩니다.
- 정상적으로 삭제가 되었을 시 response.data는 OK로 전달되는 것을 확인하실 수 있습니다.
async function deleteHash(value) {
try {
const response = await axios({
method: "delete",
url: `https://api.pinata.cloud/pinning/unpin/${value}`,
headers: {
pinata_api_key: API_KEY,
pinata_secret_api_key: API_SECRET,
},
});
console.log(response.data);
} catch (error) {
console.log(error);
}
}
deleteHash(pinata hash value)
참고 자료
pinata 공식문서
https://docs.pinata.cloud/pinata-api/pinning/remove-files-unpin
chatGPT
const axios = require('axios');
const API_KEY = 'YOUR_API_KEY';
const API_SECRET = 'YOUR_API_SECRET';
const hashToDelete = 'QmTp9VkYvnHyrqK5LhU23QDYcfW5cvxHbStoJQgG2hLZtB';
async function deleteHash() {
try {
const response = await axios({
method: 'delete',
url: `https://api.pinata.cloud/data/${hashToDelete}`,
headers: {
'pinata_api_key': API_KEY,
'pinata_secret_api_key': API_SECRET
}
});
console.log(response.data);
} catch (error) {
console.error(error);
}
}
deleteHash();
728x90
반응형
Comments