77470


Twitter APIのv2 full archive searchを使ってツイートを取得したいのですが、以下のようなエラーを得ました。  
'OAuth 2.0 Bearer Token authentification'をしろということなので、Bearer
tokenをapi.request()の中に入れたいのですが、他のコードなどを参考にしても上手くいきません。どなたかやり方が分かれば教えてください、よろしくお願いします。

エラーを得たコードは以下です。

[code]

    from TwitterAPI import TwitterAPI, TwitterPager
    import csv
    
    
    SEARCH_TERM = '#metoomen lang:en'
    PRODUCT = 'fullarchive'
    LABEL = 'prod'
    
    
    api = TwitterAPI(consumer_key, consumer_secret, access_token_key, access_token_secret, api_version='2')
    
    r = api.request('tweets/search/all', {'query':SEARCH_TERM, 
            'fromDate':'201710170000',
            'toDate':'201803312359',
            "maxResults":500
            })
        
    
    csvFile = open('data.csv', 'w',encoding='UTF-8')
    csvWriter = csv.writer(csvFile)
    
    for item in r:
        csvWriter.writerow([item['created_at'],
                        item["id_str"],
                        item["source"],                    
                        item['user']['screen_name'],
                        item["user"]["location"],
                        item["geo"],
                        item["coordinates"], 
                        item['text'] if 'text' in item else item])
    
    >>>
    TwitterRequestError: ('{"title":"Unsupported Authentication","detail":"Authentication with OAuth 1.0a User Context is forbidden. Please, make the request with OAuth 2.0 Bearer Token authentication.","type":"https://api.twitter.com/2/problems/unsupported-authentication"}',) (403): {"title":"Unsupported Authentication","detail":"Authentication with OAuth 1.0a User Context is forbidden. Please, make the request with OAuth 2.0 Bearer Token authentication.","type":"https://api.twitter.com/2/problems/unsupported-authentication"}
    
[/code]

api.request()に headers としてbearer tokenを入れれば良いと思うのですが、うまくいきませんでした。

[code]

    headers = {"Authorization": "Bearer ***MYTOKEN***"}
    
[/code]


CC BY-SA 4.0
2021-06-10T19:40:41.473
77469
2021-06-11T00:06:19.507
2021-06-11T00:06:19.507
3060
45479
question
python twitter webapi
Bearer Tokenの入れ方について


お使いの[TwitterAPI](https://github.com/geduldig/TwitterAPI)は

[code]

    api = TwitterAPI(consumer_key,
                     consumer_secret,
                     auth_type='oAuth2')
    
[/code]

のように指定することでOAuth2のApp Only Authenticationが利用できるようです。

ref:
[TwitterAPI/authentication.rst](https://github.com/geduldig/TwitterAPI/blob/master/docs/authentication.rst)


CC BY-SA 4.0
2021-06-10T20:49:14.073
77470
2021-06-10T20:49:14.073
2376
77469
answer