के साथ डीकोडेड अनुलग्नक फ़ाइल आकार प्राप्त करें मैं जीमेल एपीआई से बात करने के लिए Google के php client library का उपयोग कर रहा हूं।जीमेल एपीआई
मैं इस एपीआई का उपयोग कर अनुलग्नक के फ़ाइल आकार की रिपोर्ट करने का प्रयास कर रहा हूं।
मैं इसका परीक्षण करने के लिए, मैंने खुद को एक अनुलग्नक के साथ एक ईमेल भेजा। मैं 511 केबी होने के लिए इस अनुलग्नक का आकार जानता था। जीमेल वेब ui रिपोर्ट 499KB है, जो मुझे लगता है के रूप में इस लगाव काफी करीब है:
जब मैं इस छवि का उपयोग कर gmail json api, तथापि, मैं सही अनुलग्नक आकार मिलता है लाने:
GET https://www.googleapis.com/gmail/v1/users/me/messages/14ef5015d08312fd/attachments/ANGjdJ-Yy2H2avT5aFV7akMM2Lp4NigSpHqKgMT48zUMPVe3l6B9U0cfs-jXYD3cWJPhEwVjXQxNg2ZGDBFXKpMnf1HbpoBCwzcuOYSAJmHBbMHGANWKynofHf5GyStvjHhvNpA5xwla2hj7zdm6SVISoMgAR-dHJIPXbRniHVdryv13bxNsUeuRFvYbktnAcIwi-ppD6C1VAJtnGQYIKtNjsOa68hOlMSGLByWOrbB2txEN_P4cM43U7SEEzFmIDjFhKGkEIiU1rvrf9WT8KFVTsJ1U9_nTFjfkXIjl_Q?key={YOUR_API_KEY}
रिटर्न
{
"size": 510808,
"data": "encoded_data_string_uiasd82187"
}
तो वहाँ क्या जीमेल वेब UI शो और क्या actua के बीच एक मामूली डिस्कनेक्ट है अनुलग्नक का एल आकार है।
GET https://www.googleapis.com/gmail/v1/users/me/messages/14ef5015d08312fd?key={YOUR_API_KEY}
मैं इस तरह एक json प्रतिक्रिया मिल:
जब मैं इस तरह के अनुरोध whole message (न केवल लगाव) के लिए एक अनुरोध बनाने उर्फ,: लेकिन यहाँ है जहाँ यह अजीब हो जाता है
"body": {
"attachmentId": "ANGjdJ9P-2Q_1lMch1_smv_ZKACDE_QRtBisZ8bAWP1x_-ze8tvQiQunNCjcWUDkv2kjZo67AETe6Zmti5YZ3Zl4-EyaNtbtfxWOHBhTqQFSK673hZhEWW8Bg7Ul4ws2eOSYXrZsvWY8NhLptXJP5PM0W30LZk2sHj4XLWlmU64YxMPAOXwLOT1FeNc3EgVvlKJFQv1sUVajmA6c1K_qKgH_Y_c56fSJAz9aFRoh9RW6wvkhTV5NeLm9WFghkzpInwz6cm-DyJQhY-eOZLE2mvqQ4EmCPmBgzwNDh29mqQ",
"size": 699004
}
तो आईडी के साथ लगाव जो मुझे लगता है वह 69 9 केबी का आकार है, न कि 511 केबी सही आकार। यह कच्ची फ़ाइल के बजाय एन्कोडेड लगाव का आकार प्रतीत होता है।
तो, पीएचपी क्लाइंट लाइब्रेरी का उपयोग कर जब मैं एक Google_Service_Gmail_MessagePart
इस लगाव का प्रतिनिधित्व है, और मुझे $messagepart->getBody()->getSize()
फोन इस रिटर्न 699004.
क्या मैं जरूरत लगाव का सही आकार है, 510808.
मैं यह सही आकार कैसे प्राप्त कर सकता हूं, और क्या इस संदर्भ में गलत आकार दिखाते हुए जीमेल एपीआई में एक बग है?
मैंने Google Apps API मुद्दे पर एक [बग] (https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=4498) दायर किया है ट्रैकर। – Rafa