Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Instagram] Stories not listed #694

Open
rEnr3n opened this issue May 17, 2018 · 10 comments
Open

[Instagram] Stories not listed #694

rEnr3n opened this issue May 17, 2018 · 10 comments
Labels
Bridge-Feature-Request Request for a new bridge feature

Comments

@rEnr3n
Copy link

rEnr3n commented May 17, 2018

I updated my url to the new parameter. I'm just getting the normal posts not stories.

?action=display&bridge=Instagram&u=jessica.syj&media_type_u=all&format=Atom

logmanoriginal added a commit that referenced this issue May 29, 2018
The media_type parameter was recently replaced by media_type_u (for
user mode) and media_type_h (for hashtag mode). This was necessary
in order to add the media type 'story' only for the user mode.

"The reason for that is that RSS-Bridge supports multiple parameters
with the same name if and only if they contain the exact same value.
Here, hashtags don't have stories, so it would not be possible to
pass "story" as a parameter. This is a design mistake that I made
when I added support for hashtags."

-- 8770c87?diff=split#r28871502

However as pointed out this change breaks existing feeds as the
parameter name is no longer compatible to previous implementations.

This commit changes the implementation to provide the old media_type
parameter globally and check for invalid options on each request. If
a user uses the 'story' option in history mode the bridge returns a
client error.

references 8770c87
references #694
fixes #696
fixes #699
fixes #701
@logmanoriginal
Copy link
Contributor

Does changing the media type from all to story work for you?
Please also have a look at the latest master to continue using the previous parameter names.

@rEnr3n
Copy link
Author

rEnr3n commented May 30, 2018

I pulled the latest commit and used the previous parameters. The stories are still not showing up.

?action=display&bridge=Instagram&u=jessica.syj&media_type=all&_cache_timeout=600&format=Atom

@logmanoriginal
Copy link
Contributor

That's strange, I see the stories on my machine. Based on your query this is the first story currently in the feed (second entry right now): https://www.instagram.com/p/BjRpeS0nQu7/

Do you receive any results when changing the media type to media_type=story?

@rEnr3n
Copy link
Author

rEnr3n commented May 31, 2018

I tried that as well. Same thing.

Just for clarification, am I right to assume that Story is different from Video and Picture? As far as I know the Story entries can be found by clicking on the user's profile picture (the circular one). Video and Picture entries (the square ones) are located at the bottom.

screenshot_2018-05-31_10-05-19

I only see the Video and Picture entries in my feed. The link you gave is a Picture type not Story.

@logmanoriginal
Copy link
Contributor

The source code refers to three different types Video, Picture and Story (GraphSidecar):

switch($this->getInput('media_type')) {
case 'all': break;
case 'video':
if($media->__typename != 'GraphVideo') continue 2;
break;
case 'picture':
if($media->__typename != 'GraphImage') continue 2;
break;
case 'story':
if($media->__typename != 'GraphSidecar') continue 2;
break;
default: break;
}

I actually downloaded the contents manually to see if the bridge works correctly and it looks perfectly fine to me. There are, however, multiple GraphSidecar in the JSON data. If I understand the story function correctly, there should only be one...

Maybe the bridge is still missing the correct field?

Than again I don't see any story icon right now, do you need to be logged in for this? In that case you are out of luck.

@rEnr3n
Copy link
Author

rEnr3n commented Jun 5, 2018

IG stories can be accessed by clicking the user profile pic. And yes you need to login if you click there. They have expiration on them (24 hours I think). The link for the stories will still be alive but they are not available in the interface.

I thought IG stories are supported because of this: 8770c87

These story links are available without logging in. I just don't know how they are extracted.
https://www.instagram.com/p/Bjo7jcLFHpH/
https://www.instagram.com/p/Bjo8DyNlm_X/
https://www.instagram.com/p/Bjo8zZmFJUF/
https://www.instagram.com/p/Bjo9RYvlofN/

@logmanoriginal
Copy link
Contributor

I thought IG stories are supported because of this

This is what I thought as well, but it seems that your story and the stories captured by the bridge are different types of stories.

These story links are available without logging in. I just don't know how they are extracted.

Since they don't seem to be linked directly, I did a comparison of two profiles, one with story and the other without. The particular area around the profile picture is pretty much the same in both cases. The only difference is the class h5uC0 which turns the cursor into a pointer (if a story is available). The story itself seems to be loaded via JavaScript event which is located in a heavily obfuscated source file.

It's worth mentioning that IG heavily depends on JavaScript for page rendering. The raw HTML (about 250 lines) pretty much consists of one large JSON object and a few HTML tags (primarily meta data).

Unless someone has an idea how to proceed from here there is no way to extract your story links. That being said, maybe this is different when being logged in. Maybe you can have a look and see if you can find anything (I don't have an account). Right now there is nothing we can do to support stories unfortunately 🤷‍♂️

shutosg added a commit to shutosg/rss-bridge that referenced this issue Nov 11, 2019
Fix following issues which related to output of the GraphSidecar type posts.
- The GraphSidecar post's media wasn't outputted except for first picture when searching by hashtag or location
- Video didn't embedded
NOTE:
The function getInstagramStory() which was called when the post type is GraphSidecar didn't seem to work just as one intended.
Because the web request called in that function is just to get the media of single post, NOT to get the media of Story.
But I don't have any idea to solve RSS-Bridge#694, so it seems be better to rename these function and member variable properly.
logmanoriginal pushed a commit that referenced this issue Dec 1, 2019
…ng (#1361)

* [InstagramBridge] Fix GraphSidecar output

Fix following issues which related to output of the GraphSidecar type posts.
- The GraphSidecar post's media wasn't outputted except for first picture when searching by hashtag or location
- Video didn't embedded
NOTE:
The function getInstagramStory() which was called when the post type is GraphSidecar didn't seem to work just as one intended.
Because the web request called in that function is just to get the media of single post, NOT to get the media of Story.
But I don't have any idea to solve #694, so it seems be better to rename these function and member variable properly.
@logmanoriginal logmanoriginal added the Bridge-Feature-Request Request for a new bridge feature label Dec 1, 2019
infominer33 pushed a commit to web-work-tools/rss-bridge that referenced this issue Apr 17, 2020
The media_type parameter was recently replaced by media_type_u (for
user mode) and media_type_h (for hashtag mode). This was necessary
in order to add the media type 'story' only for the user mode.

"The reason for that is that RSS-Bridge supports multiple parameters
with the same name if and only if they contain the exact same value.
Here, hashtags don't have stories, so it would not be possible to
pass "story" as a parameter. This is a design mistake that I made
when I added support for hashtags."

-- RSS-Bridge@b92405f?diff=split#r28871502

However as pointed out this change breaks existing feeds as the
parameter name is no longer compatible to previous implementations.

This commit changes the implementation to provide the old media_type
parameter globally and check for invalid options on each request. If
a user uses the 'story' option in history mode the bridge returns a
client error.

references b92405f
references RSS-Bridge#694
fixes RSS-Bridge#696
fixes RSS-Bridge#699
fixes RSS-Bridge#701
infominer33 pushed a commit to web-work-tools/rss-bridge that referenced this issue Apr 17, 2020
…ng (RSS-Bridge#1361)

* [InstagramBridge] Fix GraphSidecar output

Fix following issues which related to output of the GraphSidecar type posts.
- The GraphSidecar post's media wasn't outputted except for first picture when searching by hashtag or location
- Video didn't embedded
NOTE:
The function getInstagramStory() which was called when the post type is GraphSidecar didn't seem to work just as one intended.
Because the web request called in that function is just to get the media of single post, NOT to get the media of Story.
But I don't have any idea to solve RSS-Bridge#694, so it seems be better to rename these function and member variable properly.
@dvikan dvikan closed this as completed Mar 26, 2022
@dvikan
Copy link
Contributor

dvikan commented Mar 27, 2022

@rEnr3n Is this still an issue?

@dvikan dvikan reopened this Mar 27, 2022
@dvikan
Copy link
Contributor

dvikan commented Sep 12, 2023

@rEnr3n ?

@rEnr3n
Copy link
Author

rEnr3n commented Sep 13, 2023

Issue is still here. Just a rehash, I can't view the stories as a guest on a browser.

dev.2023-07-11 (git.master.0780917)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bridge-Feature-Request Request for a new bridge feature
Projects
None yet
Development

No branches or pull requests

3 participants