# Send Extension PubSub Message failed with 403 result

**URL:** <https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024>\
**Category:** Extensions\
**Created:** [February 14, 2019, 12:41pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024 "2019-02-14T12:41:05Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![shell](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/shell/32/6417_2.png) [@shell](https://discuss.dev.twitch.com/u/shell)\
**Post date:** [February 14, 2019, 12:41pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/1 "2019-02-14T12:41:05Z")

</div>

When I use python to build my own ebs server, refering to hello world demo, http request encountered 403 error return.  
Http crul is: [https://api.twitch.tv/extensions/message/400402207](https://api.twitch.tv/extensions/message/400402207)

Admin Removed Secrets

Content:

 ![image](https://d2opxh93rbxzdn.cloudfront.net/original/2X/9/90bd13152843ab75e310db595a190ff4ca83e8d2.png)  
Use fiddler to view the header of the http request from twitch:  
 ![image](https://d2opxh93rbxzdn.cloudfront.net/original/2X/c/cae568877c6a6876a2739bdbbb7f44806918d4e0.png)  
 ![image](https://d2opxh93rbxzdn.cloudfront.net/original/2X/3/395e78dc6b6b1658dbe87cca60ffbe19904e3cce.png)

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [February 14, 2019, 12:42pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/2 "2019-02-14T12:42:10Z")

</div>

You bearer is incorrectly formatted.

Did you base64 decode your secret before use?

You seem to have left you bearer visible in the first image, this is bad practice, generated bearers should be treated as secret and not posted to forums

---

<div class="post-metadata">

**Author:** ![shell](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/shell/32/6417_2.png) [@shell](https://discuss.dev.twitch.com/u/shell)\
**Post date:** [February 19, 2019, 7:47am UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/3 "2019-02-19T07:47:23Z")

</div>

Yes, this problem has solved,thanks.  
But,i have a new question:  
when i make the http request:[https://api.twitch.tv/extensions/](https://api.twitch.tv/extensions/)\<client\_id\>/live\_activated\_channels,i receive the response:{“error”:“Not Found”,“status”:404,“message”:“Error (404): The record was not found”}.  
Is this api has discarded?

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [February 19, 2019, 9:24am UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/4 "2019-02-19T09:24:55Z")

</div>

This API endpoint only works for a released extension, not one in testing

---

<div class="post-metadata">

**Author:** ![shell](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/shell/32/6417_2.png) [@shell](https://discuss.dev.twitch.com/u/shell)\
**Post date:** [February 20, 2019, 1:52am UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/5 "2019-02-20T01:52:25Z")

</div>

ohoh,thanks.  
In the development phase, I want to implement a function that Pubsub data to the currently active channel ids, how to achieve these active channel ids?

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [February 20, 2019, 10:31am UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/6 "2019-02-20T10:31:24Z")

</div>

If you want to send to all “active” channels just send `globally` as documented:

> **[Extensions Reference](https://dev.twitch.tv/docs/extensions/reference/#send-extension-pubsub-message)**
>
> Extensions Reference

That means one API request instead of having to do 50 (if 50 channels were live)

---

<div class="post-metadata">

**Author:** ![shell](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/shell/32/6417_2.png) [@shell](https://discuss.dev.twitch.com/u/shell)\
**Post date:** [February 20, 2019, 2:56pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/7 "2019-02-20T14:56:46Z")

</div>

There is a problem that the message send to diffferent channel is different. Because in my extensions,the broadcaster of channel has different user infomation in game.

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [February 20, 2019, 3:30pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/8 "2019-02-20T15:30:06Z")

</div>

Then in the development phase the only way to know whom has your extension active is to assume that everyone in your whitelist has the extension installed.

An alternative is to read onAuthorised and post back to your EBS, but that only dings on a viewer load.

In dev, it’s best to just assume everyone in your test whitelist is active. (Since that will only be a short list anyway

---

<div class="post-metadata">

**Author:** ![shell](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/shell/32/6417_2.png) [@shell](https://discuss.dev.twitch.com/u/shell)\
**Post date:** [February 27, 2019, 1:02pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/9 "2019-02-27T13:02:27Z")

</div>

In the test phase, i want to set whitelist, so our tester can install the extension. ,But i dont find the entrance in my Extensions Dashboard. Can you tell me?

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [February 27, 2019, 1:03pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/10 "2019-02-27T13:03:11Z")

</div>

- Extensions Dashboard
- Manage an Extension
- Versions
- Manage a Version
- Access Settings

Testing list is the bottom section

---

<div class="post-metadata">

**Author:** ![shell](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/shell/32/6417_2.png) [@shell](https://discuss.dev.twitch.com/u/shell)\
**Post date:** [February 27, 2019, 1:31pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/11 "2019-02-27T13:31:14Z")

</div>

![image](https://d2opxh93rbxzdn.cloudfront.net/original/2X/a/a23d4069f48a5299105d3493aaae117e48956144.png)  
i have set access Settings,but our tester don’t find the extension in Extensions DIscovery

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [February 27, 2019, 1:31pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/12 "2019-02-27T13:31:44Z")

</div>

You have only populated the broadcaster whitelist.

You have not added that user as a Tester.

---

<div class="post-metadata">

**Author:** ![shell](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/shell/32/6417_2.png) [@shell](https://discuss.dev.twitch.com/u/shell)\
**Post date:** [February 27, 2019, 1:33pm UTC](https://discuss.dev.twitch.com/t/send-extension-pubsub-message-failed-with-403-result/20024/13 "2019-02-27T13:33:14Z")

</div>

yes,and it works now.Thanks very much
