INNER CODE UNIT · Python
gql
trevorhobenshield/twitter-api-client · twitter/account.py:47
def gql(self, method: str, operation: tuple, variables: dict, features: dict = Operation.default_features) -> dict:
qid, op = operation
params = {
'queryId': qid,
'features': features,
'variables': Operation.default_variables | variables
}
if method == 'POST':
data = {'json': params}
else:
data = {'params': {k: orjson.dumps(v).decode() for k, v in params.items()}}
r = self.session.request(
method=method,
url=f'{self.gql_api}/{qid}/{op}',
headers=get_headers(self.session),
**data
)
self.rate_limits[op] = {k: int(v) for k, v in r.headers.items() if 'rate-limit' in k}