{"_id":"@blockapexofficial/social-media-analytics-client","_rev":"4-b77f83a752145615697bcaed9d070665","name":"@blockapexofficial/social-media-analytics-client","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@blockapexofficial/social-media-analytics-client","version":"0.0.1","description":"A package which provides you with the analytics of major social media platforms.","main":"dist/index.js","types":"dist/index.d.ts","homepage":"https://github.com/XORD-one/socialX#readme","repository":{"type":"git","url":"git+https://github.com/XORD-one/socialX.git"},"scripts":{"test":"npm run build && cd testing && node youtube.js","start":"tsc index.ts && node index.js","prepare":"npm run build","build":"tsc"},"keywords":["social media stats","tiktok","twitter","facebook","instagram","youtube","linkedin"],"author":{"name":"syedmuqeetaqib"},"contributors":[{"name":"Muhammad Waleed","email":"waleed@xord.com","url":"https://github.com/devleed"},{"name":"Syed Muqeet Aqib","email":"muqeet@blockapex.io","url":"https://github.com/SyedMuqeetAqib"}],"license":"ISC","devDependencies":{"@types/fb":"^0.0.28","@types/node":"^18.11.13","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","eslint":"^8.29.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","prettier":"^2.8.1","typescript":"^4.9.4"},"dependencies":{"@gonetone/get-youtube-id-by-url":"^1.0.0","axios":"^1.2.1","fb":"^2.0.0"},"publishConfig":{"access":"public"},"gitHead":"02b6a5eb63d7c6e4d674902955e45e273c0f15d7","bugs":{"url":"https://github.com/XORD-one/socialX/issues"},"_id":"@blockapexofficial/social-media-analytics-client@0.0.1","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-Y7dsXNt6LfPsMecT3IRlDuKMKar9M87SmUqLzouFhxEharwHDvVoVeXwqSQ86DtsIAhG77JlPe/XekBl7txKxg==","shasum":"a05b0ccedc51ae6fe3f0f58b5423c4594d2a2742","tarball":"https://registry.npmjs.org/@blockapexofficial/social-media-analytics-client/-/social-media-analytics-client-0.0.1.tgz","fileCount":75,"unpackedSize":234342,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeUl6JsDZnRk3IIdNLXj+cOnM/rbzzLK12tPwNIxrBcwIhAK1vCz4/UHk4ynf7stQsutCFxnotVQzmdilZ1tRPpG13"}]},"_npmUser":{"name":"blockapex_official","email":"support@blockapex.io"},"directories":{},"maintainers":[{"name":"blockapex_official","email":"support@blockapex.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/social-media-analytics-client_0.0.1_1685095850789_0.3893559980075949"},"_hasShrinkwrap":false},"0.0.2":{"name":"@blockapexofficial/social-media-analytics-client","version":"0.0.2","description":"A package which provides you with the analytics of major social media platforms.","main":"dist/index.js","types":"dist/index.d.ts","homepage":"https://github.com/XORD-one/socialX#readme","repository":{"type":"git","url":"git+https://github.com/XORD-one/socialX.git"},"scripts":{"test":"npm run build && cd testing && node tiktok.js","start":"tsc index.ts && node index.js","prepare":"npm run build","build":"tsc"},"keywords":["social media stats","tiktok","twitter","facebook","instagram","youtube","linkedin"],"author":{"name":"blockapex"},"contributors":[{"name":"Muhammad Waleed","email":"waleed@xord.com","url":"https://github.com/devleed"},{"name":"Syed Muqeet Aqib","email":"muqeet@blockapex.io","url":"https://github.com/SyedMuqeetAqib"}],"license":"ISC","devDependencies":{"@types/fb":"^0.0.28","@types/node":"^18.11.13","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","eslint":"^8.29.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","prettier":"^2.8.1","typescript":"^4.9.4"},"dependencies":{"@gonetone/get-youtube-id-by-url":"^1.0.0","axios":"^1.2.1","fb":"^2.0.0","jsdom":"^22.1.0"},"publishConfig":{"access":"public"},"gitHead":"faf6d0f94ab23f39bd97264007369d8b0a1d680c","bugs":{"url":"https://github.com/XORD-one/socialX/issues"},"_id":"@blockapexofficial/social-media-analytics-client@0.0.2","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-935Tu+4SUV84R5Ssbl9kSFeXd4l259nPG+DMaetxjKJecvFG7fvI3TSInEeQdCvBj7wP2kwAC6HgP9Z8TNM90Q==","shasum":"798d01b32067e616fd0a89e7904085f5b6cee284","tarball":"https://registry.npmjs.org/@blockapexofficial/social-media-analytics-client/-/social-media-analytics-client-0.0.2.tgz","fileCount":75,"unpackedSize":259897,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICtM0lkAU/+fp39bTTLr9BfRT1kTlNq1Ylq0RCZDTZUiAiEAnw9NaMFr9k5UNOl0ABen0iUeqDiKY9QfIQp4Z8YZDXY="}]},"_npmUser":{"name":"blockapex_official","email":"support@blockapex.io"},"directories":{},"maintainers":[{"name":"nabeelimran","email":"nabeel.imran852@gmail.com"},{"name":"blockapex_official","email":"support@blockapex.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/social-media-analytics-client_0.0.2_1692867846443_0.8800011294535879"},"_hasShrinkwrap":false},"0.0.3":{"name":"@blockapexofficial/social-media-analytics-client","version":"0.0.3","description":"A package which provides you with the analytics of major social media platforms.","main":"dist/index.js","types":"dist/index.d.ts","homepage":"https://github.com/XORD-one/socialX#readme","repository":{"type":"git","url":"git+https://github.com/XORD-one/socialX.git"},"scripts":{"test":"npm run build && cd testing && node tiktok.js","start":"tsc index.ts && node index.js","prepare":"npm run build","build":"tsc"},"keywords":["social media stats","tiktok","twitter","facebook","instagram","youtube","linkedin"],"author":{"name":"blockapex"},"contributors":[{"name":"Muhammad Waleed","email":"waleed@xord.com","url":"https://github.com/devleed"},{"name":"Syed Muqeet Aqib","email":"muqeet@blockapex.io","url":"https://github.com/SyedMuqeetAqib"}],"license":"ISC","devDependencies":{"@types/fb":"^0.0.28","@types/node":"^18.11.13","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","eslint":"^8.29.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","prettier":"^2.8.1","typescript":"^4.9.4"},"dependencies":{"@gonetone/get-youtube-id-by-url":"^1.0.0","axios":"^1.2.1","fb":"^2.0.0","jsdom":"^22.1.0"},"publishConfig":{"access":"public"},"gitHead":"faf6d0f94ab23f39bd97264007369d8b0a1d680c","bugs":{"url":"https://github.com/XORD-one/socialX/issues"},"_id":"@blockapexofficial/social-media-analytics-client@0.0.3","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-M0RTS4HNer+JZsHDMsSDNGtAgNd3nWwBv2H5gNQTvO+WZQufW7Q7cPzMOGZiUoIiT7aOXifEq0ucdcbpxOeRSg==","shasum":"4a19b51d39aa6877d4a1bab4bd203b30cc3c2ec7","tarball":"https://registry.npmjs.org/@blockapexofficial/social-media-analytics-client/-/social-media-analytics-client-0.0.3.tgz","fileCount":75,"unpackedSize":259845,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqCiwRavN2rNGgG8DG1sVkwx71mP0pusLEGH1O12oTxgIgCs9YrpEERLPWjU/d5W2SMECiTJHCL16qZNRcp4k4ilw="}]},"_npmUser":{"name":"blockapex_official","email":"support@blockapex.io"},"directories":{},"maintainers":[{"name":"nabeelimran","email":"nabeel.imran852@gmail.com"},{"name":"blockapex_official","email":"support@blockapex.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/social-media-analytics-client_0.0.3_1692870482704_0.1953666651186281"},"_hasShrinkwrap":false},"0.0.4":{"name":"@blockapexofficial/social-media-analytics-client","version":"0.0.4","description":"A package which provides you with the analytics of major social media platforms.","main":"dist/index.js","types":"dist/index.d.ts","homepage":"https://github.com/XORD-one/socialX#readme","repository":{"type":"git","url":"git+https://github.com/XORD-one/socialX.git"},"scripts":{"test":"npm run build && cd testing && node tiktok.js","start":"tsc index.ts && node index.js","prepare":"npm run build","build":"tsc"},"keywords":["social media stats","tiktok","twitter","facebook","instagram","youtube","linkedin"],"author":{"name":"blockapex"},"contributors":[{"name":"Muhammad Waleed","email":"waleed@xord.com","url":"https://github.com/devleed"},{"name":"Syed Muqeet Aqib","email":"muqeet@blockapex.io","url":"https://github.com/SyedMuqeetAqib"}],"license":"ISC","devDependencies":{"@types/fb":"^0.0.28","@types/node":"^18.11.13","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","eslint":"^8.29.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","prettier":"^2.8.1","typescript":"^4.9.4"},"dependencies":{"@gonetone/get-youtube-id-by-url":"^1.0.0","axios":"^1.2.1","fb":"^2.0.0"},"publishConfig":{"access":"public"},"gitHead":"b21b95024a00b650626be0c584cf9fc2034c260d","bugs":{"url":"https://github.com/XORD-one/socialX/issues"},"_id":"@blockapexofficial/social-media-analytics-client@0.0.4","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-+hfwkWbpTr4q9XUteiuWtGLR7xFZVujgNmrEEaB3hutE6jF6FZycTe+OskdtSWrRiJ1njyxk/zMFtoKGmWIOeQ==","shasum":"efb97bcb7ab5c7b1823ae9b7094ee825675862c1","tarball":"https://registry.npmjs.org/@blockapexofficial/social-media-analytics-client/-/social-media-analytics-client-0.0.4.tgz","fileCount":75,"unpackedSize":259242,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG1z3UWMCgn8W0lzbAnRRrK/fNm24vbQreeNmVOpvRXKAiAVThUagJEOeCM3MzeCgU7UE8pIEw7qsOdLpLbN5gQjWg=="}]},"_npmUser":{"name":"blockapex_official","email":"support@blockapex.io"},"directories":{},"maintainers":[{"name":"nabeelimran","email":"nabeel.imran852@gmail.com"},{"name":"blockapex_official","email":"support@blockapex.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/social-media-analytics-client_0.0.4_1692871313592_0.7834967263627957"},"_hasShrinkwrap":false}},"time":{"created":"2023-05-26T10:10:50.734Z","0.0.1":"2023-05-26T10:10:51.022Z","modified":"2023-08-24T10:01:54.087Z","0.0.2":"2023-08-24T09:04:06.616Z","0.0.3":"2023-08-24T09:48:02.939Z","0.0.4":"2023-08-24T10:01:53.863Z"},"maintainers":[{"name":"nabeelimran","email":"nabeel.imran852@gmail.com"},{"name":"blockapex_official","email":"support@blockapex.io"}],"description":"A package which provides you with the analytics of major social media platforms.","homepage":"https://github.com/XORD-one/socialX#readme","keywords":["social media stats","tiktok","twitter","facebook","instagram","youtube","linkedin"],"repository":{"type":"git","url":"git+https://github.com/XORD-one/socialX.git"},"contributors":[{"name":"Muhammad Waleed","email":"waleed@xord.com","url":"https://github.com/devleed"},{"name":"Syed Muqeet Aqib","email":"muqeet@blockapex.io","url":"https://github.com/SyedMuqeetAqib"}],"author":{"name":"blockapex"},"bugs":{"url":"https://github.com/XORD-one/socialX/issues"},"license":"ISC","readme":"# @blockapexofficial/social-media-analytics\n\nA package which provides you with the analytics of major social media platforms.\n\n## Supported social media platforms\n\n- Facebook\n- Instagram\n- Tiktok\n- Linkedin\n- Twitter\n- Youtube\n- Twitch\n\n## Installation Guide\n\nInstall the package in your js/ts appication.\n\n```javascript\nnpm install @blockapexofficial/social-media-analytics\nOR\nyarn add @blockapexofficial/social-media-analytics\n```\n\n## Integration Guide\n\n## Facebook\n\nCreate facebook developer account. (https://developers.facebook.com/)\n\nCreate facebook app. (https://developers.facebook.com/apps/?show_reminder=true)\n\nConfigure facebook login for your facebook app. (https://developers.facebook.com/apps/{your-app-id}/fb-login/settings/)\n\nAdd your application's server URL in Valid OAuth Redirect URIs input.\n\nImport Facebook constructor from the sdk. Create Facebook instance.\n\n```javascript\nimport { Facebook } from '@blockapexofficial/social-media-analytics';\n\nconst facebook = new Facebook({\n  apiKey: '',\n  apiSecret: '',\n  redirectLink: '',\n});\n```\n\nYou'll find `apiKey` as App ID and `apiSecret` as App Secret from your facebook app's basic settings.\n\n### Methods\n\n`facebook.getAuthorizationLink()`\n\nreturns authorization link which you can attach to your login with facebook button. After successful authorization facebook will redirect user to the redirect link you provided in the constructor with authorization code in query params.\n\n`facebook.getUserAccessToken(_authorizationToken)`\n\nreturns user's access token which is obtained after successful authorization from authorization link above.\n\n`facebook.getUserDetails(_accessToken): UserObject`\n\nreturns user's profile info. Function takes in access token which is obtained using getUserAccessToken function.\n\n`facebook.getUserLatestPosts(_accessToken): PostObject[]`\n\nreturns user's latest posts list. Function takes in access token which is obtained using getUserAccessToken function.\n\n`facebook.getPostDetails(_postIdentifiers[], _accessToken): PostObject[]`\n\nreturns user's post details list. Function takes in an array of post identifiers, these are obtained using getUserLatestPosts function. Function takes in access token which is obtained using getUserAccessToken function.\n\n### Response Objects\n\n#### User Object\n\n| property    | value  |\n| ----------- | ------ |\n| about       | string |\n| email       | string |\n| first_name  | string |\n| last_name   | string |\n| middle_name | string |\n| name        | string |\n| link        | string |\n\n#### Post Object\n\n| property     | value  |\n| ------------ | ------ |\n| engagements  | number |\n| impressions  | number |\n| reactions    | number |\n| comments     | number |\n| shares       | number |\n| description  | string |\n| created_time | string |\n| updated_time | string |\n| message      | string |\n\n## Instagram\n\n#### Before you start you'll need.\n\n- An Instagram Business Account or Instagram Creator Account\n- A Facebook Page connected to that account\n- A Facebook Developer account that can perform Tasks on that Page\n- A registered Facebook App with Basic settings configured\n\nConfigure facebook login for your facebook app with permissions. (https://developers.facebook.com/apps/{your-app-id}/fb-login/settings/)\n\nAdd your application's server URL in Valid OAuth Redirect URIs input.\n\nImport Instagram constructor from the sdk. Create Instagram instance.\n\n### Prerequisites for Users\nUser should have a facebook page.\nThe Instagram account type has to be business.\nUser should have a instagram account.\nThe facebook page personal profile has to be connected with an actual instagram business page.\n\n### Prerequisites for Developers\nThe developer application has to be setup as type: business\nThe developer app needs to have graph API access and Facebook login access with it using appropriate facebook developer application.\nThe request needs to have the token with an appropriate permission (instagram_basics, pages_show_list) associated with it.\n\n### Implementation\n\n```javascript\nimport { Instagram } from '@blockapexofficial/social-media-analytics';\n\nconst instagram = new Instagram({\n  apiKey: '',\n  apiSecret: '',\n  redirectLink: '',\n});\n```\n\nYou'll find `apiKey` as App ID and `apiSecret` as App Secret from your facebook app's basic settings.\n\n#### Methods\n\n`instagram.getAuthorizationLink()`\n\nreturns authorization link which you can attach to your login with instagram button. After successful authorization instagram will redirect user to the redirect link you provided in the constructor with authorization code in query params.\n\n`instagram.getUserAccessToken(_authorizationToken)`\n\nreturns user's access token which is obtained after successful authorization from authorization link above.\n\n`instagram.getUserDetails(_accessToken): UserObject`\n\nreturns user's profile info. Function takes in access token which is obtained using getUserAccessToken function.\n\n`instagram.getUserLatestPosts(_accessToken): PostObject[]`\n\nreturns user's latest posts list. Function takes in access token which is obtained using getUserAccessToken function.\n\n`instagram.getPostDetails(_postIdentifiers[], _accessToken): PostObject[]`\n\nreturns user's post details list. Function takes in an array of post identifiers, these are obtained using getUserLatestPosts function. Function takes in access token which is obtained using getUserAccessToken function.\n\n### Response Objects\n\n#### User Object\n\n| property            | value        |\n| ------------------- | ------------ |\n| id                  | string       |\n| name                | string       |\n| username            | string       |\n| profile_picture_url | string       |\n| biography           | string       |\n| media               | PostObject[] |\n\n#### Post Object\n\n| property     | value  |\n| ------------ | ------ |\n| engagements  | number |\n| impressions  | number |\n| likes        | number |\n| comments     | number |\n| description  | string |\n| created_time | string |\n| updated_time | string |\n| message      | string |\n\n### Tiktok\n\nCreate Tiktok developer account.\n\nCreate Tiktok app. (https://developers.tiktok.com/apps/)\n\nFill in the basic information on Tiktok application dashboard.\n\nAdd login kit and Video kit as product in your Tiktok application.\n\nIn login kit find input with label Redirect domain, and add your application server's domain in it.\n\nIn Tiktok api section found at the bottom of Tiktok application dashboard. Add user.info.basic and video.list as scopes.\n\nSubmit your app for review. Tiktok SDK won't work if your app is not approved.\n\nImport Tiktok constructor from the sdk. Create Tiktok instance.\n\n```javascript\nimport { Tiktok } from '@blockapexofficial/social-media-analytics';\n\nconst tiktok = new Tiktok({\n  clientId: '',\n  clientSecret: '',\n});\n```\n\nYou'll find `clientKey` and `clientSecret` from your tiktok application's dashboard.\n\n#### Methods\n\n`tiktok.getAuthorizationLink(_redirectLink)`\n\nreturns authorization link which you can attach to your login with tiktok button. After successful authorization tiktok will redirect user to the redirect link you provided in function param with authorization code in query params.\n\n`tiktok.getUserAccessToken(_authorizationToken)`\n\nreturns user's access token which is obtained after successful authorization from authorization link above.\n\n`tiktok.refreshAccessToken(_refreshToken)`\n\nreturns user's refreshed access token which is obtained after successful authorization from authorization link above.\n\n`tiktok.getUserProfileInfo(_accessToken): UserObject`\n\nreturns user's profile info. Function takes in access token which is obtained using getUserAccessToken function.\n\n`tiktok.getUserVideoList(_accessToken, _maxResults?, _sort?): VideoObject[]`\n\nreturns user's latest video list. Function takes in access token which is obtained using getUserAccessToken function.\n\n`tiktok.getVideoDetails(_postIdentifiers, _accessToken): VideoObject[]`\n\nreturns user's video details list. Function takes in an array of post identifiers, which can be video ids or video urls.\n\n### Response Objects\n\n#### User Object\n\n| property          | value   |\n| ----------------- | ------- |\n| avatar_url        | string  |\n| bio_description   | string  |\n| display_name      | string  |\n| follower_count    | number  |\n| is_verified       | boolean |\n| open_id           | string  |\n| profile_deep_link | string  |\n| likes_count       | number  |\n| following_count   | number  |\n| union_id          | string  |\n\n#### Video Object\n\n| property          | value  |\n| ----------------- | ------ |\n| engagements       | number |\n| impressions       | number |\n| id                | string |\n| create_time       | number |\n| cover_image_url   | string |\n| share_url         | string |\n| video_description | string |\n| duration          | number |\n| height            | number |\n| width             | number |\n| title             | string |\n| embed_html        | string |\n| embed_link        | string |\n| like_count        | number |\n| comment_count     | number |\n| share_count       | number |\n| view_count        | number |\n\n## Twitter\n\nCreate twitter developer account. (https://developer.twitter.com/en/portal/petition/essential/basic-info)\n\nYou have to apply for developer account in order to use twitter's api service\n\nCreate twitter app. (https://developer.twitter.com/en/portal/projects-and-apps)\n\nGet your bearer token by clicking on key icon. (https://developer.twitter.com/en/portal/projects/{projectId}/apps/{appId}/keys)\n\nImport Twitter constructor from the sdk. Create Twitter instance.\n\n```javascript\nimport { Twitter } from '@blockapexofficial/social-media-analytics';\n\nconst TwitterBearerToken = 'your app bearer token';\n\nconst twitter = new Twitter({ apiToken: TwitterBearerToken });\n```\n\nYou'll find `token` as Bearer Token from your twitter Projects and Apps selected app tab.\n\n#### Methods\n\n`twitter.getTweetDetails(_tweetId[])`\n\nreturns returns details and statistics of tweet with engagements and impressions using list of tweet ids, tweet id can be get from url bar of tweet detail page\n\n`twitter.getLatestTweets(_username[])`\n\nreturns list of most recent 10 tweets of users using username, tweets id can be get from url bar of tweet detail page\n\n`twitter.getUserDetails(_userName[])`\n\nreturns list of user details using list of twitter username, tweets id can be get from url bar of tweet detail page\n\n## Youtube\n\nCreate gmail account.(https://accounts.google.com/signup/v2/webcreateaccount?flowName=GlifWebSignIn&flowEntry=SignUp)\n\nCreate project on Google console. (https://console.cloud.google.com/)\n\nEnable youtube v3 apis from. (https://console.cloud.google.com/apis/library/youtube.googleapis.com)\n\nCreate Api key for your app integration from. (https://console.cloud.google.com/apis/credentials)\n\nImport youtube constructor from the sdk. Create youtube instance.\n\n```javascript\nimport { Youtube } from '@blockapexofficial/social-media-analytics';\n\nconst youtubeBearerToken = 'your app api token';\n\nconst youtube = new Youtube({ apiToken: youtubeBearerToken });\n```\n\nYou'll find `token` as Api token from your google console project (https://console.cloud.google.com/apis/credentials).\n\n#### Methods\n\n`youtube.getVideoDetails(videoUrls[])`\n\nreturns details of video(s) with engagements and impressions using list of video urls, videos url can be get from url bar of video page\n\n`youtube.getLatestVideos(videoUrls[])`\n\nreturns list of most recent 10 videos of channel(s) using list of video urls, videos url can be get from url bar of video page\n\n`youtube.getChannelDetails(channelUrls[])`\n\nreturns list of channel details using array of channel urls in an array, videos url can be get from url bar of video page of youtube\n\n### Response Objects\n\n#### Channel Object\n\n| property               | value   |\n| -----------------------| ------- |\n|  id                    | string  |\n|  title                 | string  |\n|  description           | string  |\n|  customUrl             | string  |\n|  publishedAt           | string  |\n|  thumbnails            | Object  |\n|  country               | string  |\n|  localized             | Object  |\n|  viewCount             | string  |\n|  subscriberCount       | string  |\n|  hiddenSubscriberCount | boolean |\n|  videoCount            | string  |\n\n\n#### Video Object\n\n| property                 | value           |\n| ------------------------ | ----------------|\n|publishedAt               | string          |\n|channelId                 | string          |\n|title                     | string          |\n|description               | string          |\n|thumbnails                | Object          |\n|channelTitle              | string          |\n|tags                      | Array           |\n|categoryId                | string          |\n|liveBroadcastContent      | string          |\n|localized                 | Object          |\n|viewCount                 | string          |\n|likeCount                 | string          |\n|favoriteCount             | string          |\n|commentCount              | string          |\n|impressions               | number          |\n|engagements               | number          |\n\n## LinkedIn\n\nCreate linkedIn account.(https://www.linkedin.com/login)\n\nCreate an App. (https://developer.linkedin.com/) + user will need a linkedIn page to connect their app.\n\nverify your app with page. (https://www.linkedin.com/developers/apps/{your app id}/settings)\n\nset your authorized redirect urls to allow access to your url. (https://www.linkedin.com/developers/apps/{your app id}/auth)\n\nUser have to apply for Marketing Developer Platform in order to get access to api to fetch organization and user data (https://console.cloud.google.com/apis/credentials)\napplying to marketing developer platform may take some days to verify your access request.\nalthough app cannot get access to user data due to resource restriction from linkedIn.\n\nGet your application creadentions such as Client ID and Client Secret (https://www.linkedin.com/developers/apps/{your app id}/auth)\n\nImport LinkedIn constructor from the sdk. Create linkedIn instance.\n\n```javascript\nimport { LinkedIn } from '@blockapexofficial/social-media-analytics';\n\nconst clientId = '78owxoz0fwu37s';\nconst clientSecret = 'aSypQ3MbeDDDAzAT';\nconst redirect_uri = 'https://testsocialapis.web.app/login/linkedin'; //should be same as you setted on application auth page\n\n\nconst linkedIn = new LinkedIn({\n    clientId,\n    clientSecret,\n    apiUrl: 'https://testsocialapis.web.app/login/linkedin',\n  });\n```\n\n#### Methods\n\n`linkedIn.getAuthorizationLink(redirect_uri)`\n\nreturns authorization link which user can add on their auth button. This will redirect user to the social media platform and will ask them to authorize the given permissions. After successful authorization social media platform will redirect on the given redirect link in the constructor param with the auth code in the query params, which should be extracted and used to give them the access token for that particular user.\n\n`linkedIn.getAccessToken(_authenticationCode: string, _redirectLink: string)`\n\nreturns user access token object by using authentication code obtain by using getAuthorizationlink methods url. access token then can be use to authenticate user while using other methods by sending access token in methods _accessToken parameter.\n\n`linkedIn.getAccessTokenFromRefreshToken(_refreshToken: string)`\n\nreturns user access token object by using refresh token obtain by using getAccessToken methods url. access token then can be use to authenticate user while using other methods.\n\n`linkedIn.getOrgLatestPosts(_accessToken: string, _orgNames: string[])`\n\nreturns organization's latest 10 posts list of multiple organizations taken as an array in parameter. Function takes in access token which is obtained using getAccessToken function.\n\n`linkedIn.getOrgPostDetails(_accessToken: string, _postUrls: string[])`\n\nreturns organization's post details of multiple urls taken in an array as parameter. Function takes in array of post urls, these are obtained from url of post page in linkedIn function. Function takes in access token which is obtained using getUserAccessToken function.\n\n`linkedIn.getOrgDetails(_accessToken: string,_orgNames: string[],_getFollowers: boolean = true)`\n\nreturns organization details by name. function take list of organization names as parameters and fetch details for all. second parameter \"_getFollowers\" is optional and true by default.\n\n### Response Objects\n\n#### Organization Object\n\n| property          | value   |\n| ----------------- | ------- |\n| orgId             | string  |\n| orgName           | string  |\n| orgWebsite        | string  |\n| orgAddress        | number  |\n| orgLogo           | boolean |\n| orgFollowers      | string  |\n\n\n#### Post Object\n\n| property                 | value                     |\n| ------------------------ | --------------------------|\n|isReshareDisabledByAuthor | boolean                   |\n|createdAt                 | number                    |\n|postState                 | string                    |\n|lastModifiedAt            | number                    |\n|visibility                | string                    |\n|publishedAt               | number                    |\n|title                     | string                    |\n|isEditedByAuthor          | boolean                   |\n|content                   | { media: { id: string } } |\n|totalFirstLevelComments   | number                    |\n|aggregatedTotalComments   | number                    |\n|likedByCurrentUser        | boolean                   |\n|totalFirstLevelLikes      | number                    |\n|aggregatedTotalLikes      | number                    |\n|impressions               | number                    |\n|engagements               | number                    |\n\n## Twitch\n\nCreate twitch account by signing up or loging in.(https://www.twitch.tv/)\n\nCreate an App. (https://dev.twitch.tv/console), user will need a twitch account with two factor authentication enabled.\n\nAdd your redirected urls.\n\nCreate secret and save it to integrate with your app. (https://dev.twitch.tv/console/apps/{your app id})\n\nCopy client id with client secret as well.\n\nGet your application creadentions such as Client ID and Client Secret\n\nImport Twitch constructor from the sdk. Create twitch instance.\n\n```javascript\nimport { Twitch } from '@blockapexofficial/social-media-analytics';\n\nconst clientSecret = 'your client secret';\n\nconst clientId = 'your client id';\nconst twitchApp = new Twitch({ clientId: clientId, clientSecret: clientSecret });\n```\n\n#### Methods\n\n`twitchApp.getAccessToken()`\n\nreturns authorization link which user can add on their auth button. This will redirect user to the social media platform and will ask them to authorize the given permissions. After successful authorization social media platform will redirect on the given redirect link in the constructor param with the auth code in the query params, which should be extracted and used to give them the access token for that particular user.\n\n`twitchApp.getVideos(_videoUrls: string[], _accessToken: string)`\n\nreturns user list of user details by username. array of username and a access token is required to fetch details. access token can be retrieve by using getAccessToken methods.\n\n`twitchApp.getClips(_clipsUrls: string[], _accessToken:string)`\n\nreturns list of clips from live streams details by clip url. array of clip url and a access token is required to fetch details. access token can be retrieve by using getAccessToken methods.\n\n`twitchApp.getLatestLiveStreams(_userNames_: string[], _accessToken:string)`\n\nreturns list of latest videos including streams and clips details by list of usernames present in url. array of video Ids and a access token is required to fetch details. access token can be retrieve by using getAccessToken methods.\n\n`twitchApp.getUsers(_userNames_: string[], _accessToken:string)`\n\nreturns user list of user details by username. array of username and a access token is required to fetch details. access token can be retrieve by using getAccessToken methods.\n\n\n### Response Objects\n\n#### User/Channel Object\n\n| property          | value   |\n| ----------------- | ------- |\n|id                 | string  |\n|login              | string  |\n|display_name       | string  |\n|type               | string  |\n|broadcaster_type   | string  |\n|description        | string  |\n|profile_image_url  | string  |\n|offline_image_url  | string  |\n|view_count         | number  |\n|followers          | number  |\n|email?             | string  |\n|created_at         | string  |\n\n\n#### Live Stream Object\n\n| property          | value         |\n| ----------------- | --------------|\n|  id               | string        |\n|  user_id          | string        |\n|  user_login       | string        |\n|  user_name        | string        |\n|  game_id          | string        |\n|  game_name        | string        |\n|  type             | string        |\n|  title            | string        |\n|  viewer_count     | number        |\n|  started_at       | string        |\n|  language         | string        |\n|  thumbnail_url    | string        |\n|  tag_ids          | Array<string> |\n|  is_mature        | false         |\n\n#### Video Object\n\n| property          | value         |\n| ----------------- | --------------|\n|  id               |string         |\n|  stream_id        |string         |\n|  user_id          |string         |\n|  user_login       |string         |\n|  user_name        |string         |\n|  title            |string         |\n|  description      |string         |\n|  created_at       |string         |\n|  published_at     |string         |\n|  url              |string         |\n|  thumbnail_url    |string         |\n|  viewable         |string         |\n|  view_count       |number         |\n|  language         |string         |\n|  type             |string         |\n|  duration         |string         |\n|  muted_segments   |null | [string]|\n\n#### Clip Object\n\n| property          | value          |\n| ----------------- | ---------------|\n|  id               | string         |\n|  url              | string         |\n|  embed_url        | string         |\n|  broadcaster_id   | string         |\n|  broadcaster_name | string         |\n|  creator_id       | string         |\n|  creator_name     | string         |\n|  video_id         | string         |\n|  game_id          | string         |\n|  language         | string         |\n|  title            | string         |\n|  view_count       | number         |\n|  created_at       | string         |\n|  thumbnail_url    | string         |\n|  duration         | number         |\n|  vod_offset       | number         |\n\n","readmeFilename":"README.md"}